关于JS嵌套点击事件的问题。

发布时间:2016-12-31 7:31:31编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"关于JS嵌套点击事件的问题。 ",主要涉及到关于JS嵌套点击事件的问题。 方面的内容,对于关于JS嵌套点击事件的问题。 感兴趣的同学可以参考一下。

$().click()  是点击命令
$().click(function(){代码}) 是绑定click事件,并不会直接运行。所以在嵌套的时候就有可能出现重复绑定的问题。下面是使用jsonp跨站访问代码
 1    myChart.on('click', function (params) { 2             var totalCount = 0; 3             var objectGidName = new Object(); 4             var listr = ""; 5             var lastinstancecourt = ""; 6             lastinstancecourt = params.value.toString().substring(2); 7             $.ajax({ 8                 type: "get", 9                 url: "http://localhost:60360/Test/ReadCaseChinaList",10                 dataType: "jsonp",11                 jsonp: "jsonpcallback",//指定回调函数,这里名字可以为任意12                 data: "category=00301&lastInstanceCourt=" + lastinstancecourt + "&jsonpcallback=?",13                 success: function (json) {14                     $('.m-r ul li').remove();15                     if (json != "") {16                         var jsons = eval('(' + json + ')');17                         var obj = jsons.Data;18                         totalCount = obj.length;19                         for (var i = 0; i < obj.length; i++) {20                             objectGidName[obj[i].Gid] = obj[i].Title;21                             listr = "<li><a href=http://www.pkulaw.cn/case/pfnl_" + obj[i].Gid + ".html?match=Exact>" + obj[i].Title + "</a></li>";22                             $('.m-r ul').append(listr);23                         }24                     }25                     totalpart.innerText = params.name + "(" + totalCount +")";26                 }27             });28             $('.m-l li').on('click', function () {29                 var totalCount = 0;30                 var objectGidName = new Object();31                 var listr = "";32                 var categorynow = $(this).find('a').attr('cluster_code');33                 $.ajax({34                     type: "get",35                     url: "http://localhost:60360/Test/ReadCaseChinaList",36                     dataType: "jsonp",37                     jsonp: "jsonpcallback",//指定回调函数38                     data: "category=" + categorynow + "&lastInstanceCourt=" + lastinstancecourt + "&jsonpcallback=?",39                     success: function (json) {40                         $('.m-r ul li').remove();41                         if (json != "") {42                             var jsons = eval('(' + json + ')');43                             var obj = jsons.Data;44                             totalCount = obj.length;45                             for (var i = 0; i < obj.length; i++) {46                                 objectGidName[obj[i].Gid] = obj[i].Title;47                                 listr = "<li><a href=http://www.pkulaw.cn/case/pfnl_" + obj[i].Gid + ".html?match=Exact>" + obj[i].Title + "</a></li>";48                                 $('.m-r ul').append(listr);49                             }50                         }51                         totalpart.innerText = params.name + "(" + totalCount + ")";52                     }53                 });54             });55         });
解决办法:
(1)使用unbind("click")先解除事件然后绑定新事件
 1   <script> 2             $(function(){ 3                 $("#test").click(function(){ 4                     $("#test").unbind('click').click(function(){ 5                         alert("内部click执行"); 6                     }); 7                     alert("外部click执行"); 8                 }); 9             })10         </script>

(2)使用die()在live()前将绑定的事件都解除掉

 1         <script> 2             $(function(){ 3                 $("#test").die().live("click",function(){ 4                     $("#test").die().live("click",function(){ 5                         alert("内部click执行"); 6                     }); 7                     alert("外部click执行"); 8                 }); 9             })10         </script>

--参考地址:http://www.phpddt.com/dhtml/jquery-click-problem.html 


上一篇:批量 ping 测试脚本
下一篇:初次尝试用Kotlin实现Android项目

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款