关于jquery的有关问题,按钮点击事件
程序员文章站
2022-04-04 16:16:15
...
关于jquery的问题,按钮点击事件
有A、B两个页面
A页面有多个“修改”按钮,每个按钮有样式class="editbtn",点击ajax到B页面,如下代码
B页面
B页面也会返回N条包含class="editbtn"的“修改”按钮,返回的这些按钮点击就无法完成$(".editbtn").click了,请问是什么原因呢?
之所以B页面有'script'=>$script,就是因为无法完成$(".editbtn").click事件,我又在B页面加了上面那段jquery,把它又弄到$("#div2").html,这样就可以运行,但是这样我感觉效率不好,好像如果点击了很多次就重复了很多次相同的代码,大神们觉得这样好吗?应该不好吧?
------解决思路----------------------
把 $(".editbtn").click(function(){
改为 $(document).on('click', ".editbtn", function(){
就可以了
------解决思路----------------------
绑定事件改成
$('.clickme').live('click', function() {
alert("Live handler called.");
});
live:给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效
有A、B两个页面
A页面有多个“修改”按钮,每个按钮有样式class="editbtn",点击ajax到B页面,如下代码
$(".editbtn").click(function(){
var url="b.php";
var params = $('form').serialize();
$.ajax({
url: url,
type: 'post',
dataType:'json',
data: params,
success: function (data){
$("#div1").html(data.html);
$("#div2").html(data.script);
}
});
});
B页面
$data=array(
'html'=>$html,
'script'=>$script
);
echo json_encode($data);
B页面也会返回N条包含class="editbtn"的“修改”按钮,返回的这些按钮点击就无法完成$(".editbtn").click了,请问是什么原因呢?
之所以B页面有'script'=>$script,就是因为无法完成$(".editbtn").click事件,我又在B页面加了上面那段jquery,把它又弄到$("#div2").html,这样就可以运行,但是这样我感觉效率不好,好像如果点击了很多次就重复了很多次相同的代码,大神们觉得这样好吗?应该不好吧?
------解决思路----------------------
把 $(".editbtn").click(function(){
改为 $(document).on('click', ".editbtn", function(){
就可以了
------解决思路----------------------
绑定事件改成
$('.clickme').live('click', function() {
alert("Live handler called.");
});
live:给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效
相关文章
相关视频
上一篇: 一款漂亮的纯CSS手风琴效果代码
推荐阅读
-
jquery mobile的触控点击事件会多次触发问题的解决方法
-
jquery的click事件缺陷问题:绑定class了但是在ajax拼接刷新后点击事件不起作用问题的解决办法
-
jquery live方法,解决jquery动态添加按钮无法触发点击事件的问题
-
jQuery的onclick事件导致点击事件累计触发的问题
-
按钮点击事件的实现方式---JQuery
-
jquery父元素和子元素点击事件传递问题_不可把父元素的事件传递给子元素_事件无限循环传递
-
解决jQuery ajax动态新增节点无法触发点击事件的问题
-
jquery下关于input和label的关于点击事件的坑
-
关于jquery的问题,按钮点击事件
-
jQuery关于input的change事件不兼容的问题解决办法详解