关于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 ...
随机推荐
- java线程池ThreadPoolExecutor使用简介
一.简介线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolExecutor(int corePoolSize, int m ...
- Kindle支持哪些格式
官方产品介绍页面有相关技术参数: Kindle Format 8 (AZW3), Kindle (AZW), TXT,PDF, MOBI, PRC原格式,HTML,DOC,DOCX,JPEG,GIF, ...
- ThinkPHP的D方法和M方法的区别
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...
- 什么是shell
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种 ...
- Spring泛型依赖注入
1.定义基础仓库 package com.spring.generic.di; public class BaseRepository<T> { } 2.定义基础服务层 package ...
- iOS 从git拷贝Xcode的snippets
do following things in terminal 1. check out the project using: git clone gitAddress 2. cd the proje ...
- BZOJ4572: [Scoi2016]围棋
Description 近日,谷歌研发的围棋AI—AlphaGo以4:1的比分战胜了曾经的世界冠军李世石,这是人工智能领域的又一里程碑. 与传统的搜索式AI不同,AlphaGo使用了最近十分流行的卷积 ...
- Hello Java
用记事本或者Eclipse编写如下代码 public class JavaAPP{ public static void main(String[] args){ System ...
- uva116
这题是一道dp的水题,类似于数塔,从右向左倒着加上去,找到最小值,然后在从左到右输出路径. #include"iostream" #include"stdio.h&quo ...
- javascript平时小例子⑨(小型抽奖功能)
<!doctype html><html lang="en"> <head> <meta charset="utf-8" ...