关于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 ...
随机推荐
- 国内其他的maven库
转自:http://www.cnblogs.com/woshimrf/p/5860478.html 在oschina关来关去的烦恼下,终于受不了去寻找其他公共库了. 阿里云maven镜像 <mi ...
- Media Formatters in ASP.NET Web API 2
原文:http://www.asp.net/web-api/overview/formats-and-model-binding/media-formatters 1. 网络媒体类型 媒体类型,也叫作 ...
- java实例化对象的方式
一.Java中创建(实例化)对象的五种方式 1.用new语句直接创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); ...
- info.plist、pch和四大对象(UIApplication、UIApplicationDelegate、UIWindow、UIViewController)
本文目录 1.程序配置文件info.plist,全局头文件pch 2.应用程序对象UIApplication介绍 3.UIApplicationDelegate介绍,程序启动过程 4.UIWindow ...
- 日志分析_使用shell完整日志分析案例
一.需求分析 1. 日志文件每天生成一份(需要将日志文件定时上传至hdfs) 2. 分析日志文件中包含的字段:访问IP,访问时间,访问URL,访问状态,访问流量 3. 现在有"昨日" ...
- lunece全文检索的入门与简单优化
2016-12-15 项目中需要加载下面几个工具包 1 package com.cn.shupu.util; import java.io.BufferedReader; import java.io ...
- iTop Webservice列表
{ u'operations':[ { u'verb':u'core/create', u'description':u'Create an object', u'extension':u'CoreS ...
- JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别
函数声明:function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName = function () {-};使 ...
- C#拾遗-边边角角
1.扩展方法 public static 方法返回值类型 扩展方法名(this 要扩展类型 obj,调用扩展方法时需要的参数){ return "返回值"} 2.运算符重载 pub ...
- C# 根据年月日获取星期几方法
#region 根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);) /// <summary> /// 根据年月日计算星期几(Label ...