sepehrmm
جمعه 10 مهر 1388, 18:48 عصر
سلام
آشنایی برای اونایی که نمیدونن livequery چیه :
همونطوری که میدونید اگر در صفحه یک عنصر رو بصورت دینامیک بسازیم ( یا بوسیله JS یا بوسیله لود شدن با AJAX) دیگه نمیتونیم از کدی مثل زیر استفاده کنیم :
$("#someelement").click(function(){});
چون کد بالا فقط روی عناصر اولیه جواب میده نه اونایی که بعدا در صفحه ایجاد میشوند
پس مجبوریم یا از پلاگین livequery استفاده کنیم یا از live خود jQuery .
مشکل من :
یه پروزه دارم که توش از livequery استفاده کردم ولی مشکل اینجاست که درست کار نمیکنه ، البته این کدی که اینجا آوردم ساده شده ی اون پروژه هست برای راحتی کار :
در صفحه اول یک دکمه داریم که وقتی کلیک میشه صفحه دوم رو در یک عنصر همین صفحه اولی لود میکنه ، توی صفحه دوم هم یک لینک داریم که صفحه اول رو دوباره باز میکنه (با AJAX) . تا اینجا همه چیز خوب پیش میره حالا اگه یکبار دیگه با دکمه صفحه اول صفحه دو را باز کنیم دیگه لینکی که در صفحه دو ما رو به صفحه یک میبرد کار نمیکنه !
بعبارت دیگر وقتی این لینک برای بار دوم ایجاد میشه کد jquery از کار می افته .
ممنون میشم کمک کنید ، درضمن من حتما باید از livequery استفاده کنم چون live
نمیتونه با رویداد change که من در پروژه ام بهش نیاز دارم کار کنه .
ممنون میشم کمکم کنید :لبخندساده:
livequery رو از اینجا (http://github.com/brandonaaron/livequery) گرفتم که آخرین نسخشه توی سایت jquery قدیمیشو داره ، ورژن jquery هم 1.3.2 هست .
تمامی فایل ها رو ضمیمه کردم .
صفحه 1.html :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="jquery.js"></script>
<script src="jquery.livequery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$(function() {
$("#ahome").livequery("click",function(){
$("body").load("new.html");
});
$("#buajax").livequery("click",function(){
$("#ajaxwrapper").load("2.html");
});
});
</script>
</head>
<body>
<input id="buajax" type="button" value="Ajax!" />
<div id="ajaxwrapper">Ajax HERE</div>
</body>
</html>
صفحه 2.html :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<a href="#" id="ahome">Homepage</a></div>
</body>
</html>
آشنایی برای اونایی که نمیدونن livequery چیه :
همونطوری که میدونید اگر در صفحه یک عنصر رو بصورت دینامیک بسازیم ( یا بوسیله JS یا بوسیله لود شدن با AJAX) دیگه نمیتونیم از کدی مثل زیر استفاده کنیم :
$("#someelement").click(function(){});
چون کد بالا فقط روی عناصر اولیه جواب میده نه اونایی که بعدا در صفحه ایجاد میشوند
پس مجبوریم یا از پلاگین livequery استفاده کنیم یا از live خود jQuery .
مشکل من :
یه پروزه دارم که توش از livequery استفاده کردم ولی مشکل اینجاست که درست کار نمیکنه ، البته این کدی که اینجا آوردم ساده شده ی اون پروژه هست برای راحتی کار :
در صفحه اول یک دکمه داریم که وقتی کلیک میشه صفحه دوم رو در یک عنصر همین صفحه اولی لود میکنه ، توی صفحه دوم هم یک لینک داریم که صفحه اول رو دوباره باز میکنه (با AJAX) . تا اینجا همه چیز خوب پیش میره حالا اگه یکبار دیگه با دکمه صفحه اول صفحه دو را باز کنیم دیگه لینکی که در صفحه دو ما رو به صفحه یک میبرد کار نمیکنه !
بعبارت دیگر وقتی این لینک برای بار دوم ایجاد میشه کد jquery از کار می افته .
ممنون میشم کمک کنید ، درضمن من حتما باید از livequery استفاده کنم چون live
نمیتونه با رویداد change که من در پروژه ام بهش نیاز دارم کار کنه .
ممنون میشم کمکم کنید :لبخندساده:
livequery رو از اینجا (http://github.com/brandonaaron/livequery) گرفتم که آخرین نسخشه توی سایت jquery قدیمیشو داره ، ورژن jquery هم 1.3.2 هست .
تمامی فایل ها رو ضمیمه کردم .
صفحه 1.html :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="jquery.js"></script>
<script src="jquery.livequery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$(function() {
$("#ahome").livequery("click",function(){
$("body").load("new.html");
});
$("#buajax").livequery("click",function(){
$("#ajaxwrapper").load("2.html");
});
});
</script>
</head>
<body>
<input id="buajax" type="button" value="Ajax!" />
<div id="ajaxwrapper">Ajax HERE</div>
</body>
</html>
صفحه 2.html :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<a href="#" id="ahome">Homepage</a></div>
</body>
</html>