关于JS嵌套点击事件的问题。
$().click() 是点击命令
$().click(function(){代码}) 是绑定click事件,并不会直接运行。所以在嵌套的时候就有可能出现重复绑定的问题。下面是使用jsonp跨站访问代码
myChart.on('click', function (params) {
var totalCount = 0;
var objectGidName = new Object();
var listr = "";
var lastinstancecourt = "";
lastinstancecourt = params.value.toString().substring(2);
$.ajax({
type: "get",
url: "http://localhost:60360/Test/ReadCaseChinaList",
dataType: "jsonp",
jsonp: "jsonpcallback",//指定回调函数,这里名字可以为任意
data: "category=00301&lastInstanceCourt=" + lastinstancecourt + "&jsonpcallback=?",
success: function (json) {
$('.m-r ul li').remove();
if (json != "") {
var jsons = eval('(' + json + ')');
var obj = jsons.Data;
totalCount = obj.length;
for (var i = 0; i < obj.length; i++) {
objectGidName[obj[i].Gid] = obj[i].Title;
listr = "<li><a href=http://www.pkulaw.cn/case/pfnl_" + obj[i].Gid + ".html?match=Exact>" + obj[i].Title + "</a></li>";
$('.m-r ul').append(listr);
}
}
totalpart.innerText = params.name + "(" + totalCount +")";
}
});
$('.m-l li').on('click', function () {
var totalCount = 0;
var objectGidName = new Object();
var listr = "";
var categorynow = $(this).find('a').attr('cluster_code');
$.ajax({
type: "get",
url: "http://localhost:60360/Test/ReadCaseChinaList",
dataType: "jsonp",
jsonp: "jsonpcallback",//指定回调函数
data: "category=" + categorynow + "&lastInstanceCourt=" + lastinstancecourt + "&jsonpcallback=?",
success: function (json) {
$('.m-r ul li').remove();
if (json != "") {
var jsons = eval('(' + json + ')');
var obj = jsons.Data;
totalCount = obj.length;
for (var i = 0; i < obj.length; i++) {
objectGidName[obj[i].Gid] = obj[i].Title;
listr = "<li><a href=http://www.pkulaw.cn/case/pfnl_" + obj[i].Gid + ".html?match=Exact>" + obj[i].Title + "</a></li>";
$('.m-r ul').append(listr);
}
}
totalpart.innerText = params.name + "(" + totalCount + ")";
}
});
});
});
解决办法:
(1)使用unbind("click")先解除事件然后绑定新事件
<script>
$(function(){
$("#test").click(function(){
$("#test").unbind('click').click(function(){
alert("内部click执行");
});
alert("外部click执行");
});
})
</script>
(2)使用die()在live()前将绑定的事件都解除掉
<script>
$(function(){
$("#test").die().live("click",function(){
$("#test").die().live("click",function(){
alert("内部click执行");
});
alert("外部click执行");
});
})
</script>
--参考地址:http://www.phpddt.com/dhtml/jquery-click-problem.html
关于JS嵌套点击事件的问题。的更多相关文章
- js模拟点击事件实现代码
js模拟点击事件实现代码 类型:转载 时间:2012-11-06 在实际的应用开发中,我们会常常用到JS的模事件,比如说点击事件,举个简单的例子,点击表单外的"提交"按钮来提交表单 ...
- jquery/js记录点击事件,单击次数加一,双击清零
目的:点击按钮,点击后在网页上显示点击次数,双击清零 实现:js或者jquery 代码如下: <%@ page language="java" contentType=&qu ...
- selenium自动化之js处理点击事件失效
有时候,元素明明已经找到了,使用click()就是无法触发点击事件(当然,这种情况十分少见,至少我只遇到过一次).下面告诉大家这种场景的解决方案. 使用js代码来点击[博客园]这个按钮 代码: #!/ ...
- JS: javascript 点击事件执行两次js问题 ,解决jquery绑定click事件出现点击一次执行两次问题
javascript 点击事件执行两次js问题 在JQuery中存在unbind()方法,先解绑再添加点击事件,解决方案为: $(".m-layout-setting").unbi ...
- vue.js click点击事件获取当前元素对象
Vue.js可以传递$event对象 <body id="app"> <ul> <li v-on:click="say('hello!', ...
- JS——按钮点击事件累加注册问题
最近在工作上遇到一个点击事件累加的问题,为元素添加点击事件效果,但是总是效果失败,最后发现点击事件被执行了多次,上网查了一下,下边就是解决这个问题的几种思路 案列引自 踮起脚尖眺望6 $(" ...
- js阻止点击事件的冒泡的实现
<html> <head> <script type="text/javascript"> function fnclick1(){ alert ...
- js利用点击事件做一个简单的计算器
先放一个样式图: 源代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
- js 键盘点击事件
回车键(Enter)的触发事件 js 代码如下: document.onkeydown = function (e) { if (!e) e = window.event; if ((e.keyCo ...
随机推荐
- list点击项高亮其他默认
// 点击项颜色高亮,其他默认 if (position != lastPosition && onClickItemView != null) { TabMenu lastTabMe ...
- Codeforces713C Sonya and Problem Wihtout a Legend(DP)
题目 Source http://codeforces.com/problemset/problem/713/C Description Sonya was unable to think of a ...
- 清华学堂 Range
Descriptioin Let S be a set of n integral points on the x-axis. For each given interval [a, b], you ...
- 【改】iOS学习之NSAttributedString(富文本)
NSAttributedString 叫做富文本,是一种带有属性的字符串,通过它可以轻松的在一个字符串中表现出多种字体.字号.字体大小等各不相同的风格,还可以对段落进行格式化,一般都是对可变富文本(N ...
- [转]passport.js学习笔记
概述 passport.js是Nodejs中的一个做登录验证的中间件,极其灵活和模块化,并且可与Express.Sails等Web框架无缝集成.Passport功能单一,即只能做登录验证,但非常强大, ...
- Multiple annotations found at this line
Multiple annotations found at this line 在使用MyEclipse的时候,通过MVN导入项目时候,webapp下面的JSP页面报了如下的错误: 这种情况通常的原因 ...
- MongoDB使用小结:一些不常见的经验分享
最近一年忙碌于数据处理相关的工作,跟MongoDB打交道极多,以下为实践过程中的Q&A,后续会不定期更新补充. 另有<MongoDB使用小结:一些常用操作分享>,注:本文完成时Mo ...
- Python实战:扫描key完整性
之前在国际版本中,需要支持中英文切换功能,在如此繁多的源文件里要查找源文件里的key是语言资源包是否对应. 正好运用在之前学的python,写了个工具,支持自定义替换标签,批量处理源文件.现在看来,效 ...
- linux中test与[ ]指令的作用
linux中test与[ ]指令的作用: 在Linux中,test和[ ]功能是一样的,类似于c语言中的( ).不过Linux的test和[ ]是指令.在和if或者while联用时要用空格分开.
- JAVA实现复制文件夹
package com.filetest; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor ...