javascript – 覆盖以前绑定的点击事件(js覆盖方法)
11
对于想了解javascript–覆盖以前绑定的点击事件的读者,本文将提供新的信息,我们将详细介绍js覆盖方法,并且为您提供关于IE8的JavaScript点击事件(onclick)不兼容的解决方法_j
对于想了解javascript – 覆盖以前绑定的点击事件的读者,本文将提供新的信息,我们将详细介绍js覆盖方法,并且为您提供关于IE8的JavaScript点击事件(onclick)不兼容的解决方法_javascript技巧、javascript – Angular JS:为什么我的点击事件会被触发两次?、javascript – d3.js关于“点击”事件处理运行功能没有点击事件、javascript – Jquery – IE6中选择下拉列表中的点击事件问题的有价值信息。
本文目录一览:
javascript – 覆盖以前绑定的点击事件(js覆盖方法)
当我将此代码与id为“foobar”的元素一起使用时:
$("#foobar").click(function () { alert("first"); });
$("#foobar").click(function () { alert("second"); });
我得到两个警报:“第一”和“第二”秒.
如何指定单击事件,该事件还会清除附加到元素的任何先前单击事件?我想要最后一个$(“#foobar”).点击(…)删除任何以前绑定的事件.
解决方法
您可以取消绑定已附加到该元素的事件,然后附加第二个事件处理程序,因此它将是唯一的一个(请注意unbind方法).
$("#foobar").unbind("click").click(function() { alert("second"); });

IE8的JavaScript点击事件(onclick)不兼容的解决方法_javascript技巧
博客园闪存分页是用JavaScript生成的,今天发现在IE8下点击页码不能翻页,翻页操作是在当前页码的onclick事件中进行的。
开始代码是这么写的:
var a = document.createElement("a");
a.setAttribute("onclick", this.ClickFunctionName + "(" + pageIndex + ");Pager.SetCurrent(" + pageIndex + ");");
由于IE8不支持setAttribute方法,这里添加的onclick事件处理程序并未添加上。
后来改为jQuery的attr方法:
$(a).attr("onclick", this.ClickFunctionName + "(" + pageIndex + ");Pager.SetCurrent(" + pageIndex + ");");
这样虽然添加上去了,但不管怎么点击,onclick事件处理程序就是不执行,Chrome与Firefox都没这个问题。
最终通过下面的代码解决了问题:
var js = this.ClickFunctionName + "(" + pageIndex + ");Pager.SetCurrent(" + pageIndex + ");";
a.onclick = function() { eval(js); }

javascript – Angular JS:为什么我的点击事件会被触发两次?
我有以下代码.它循环遍历
JSON以生成嵌套的ul列表.我有一个click事件,它执行绑定到锚标记的函数toggleNav().我不知道为什么click事件被绑定到元素两次.另外我是棱角分明的新手,是否有一个文件解释了这个概念?谢谢!
define([
'/assets/angularapp/AppDirectives.js','highstock'
],function (directives) {
directives.directive('collection',function () {
return {
restrict: "E",//declare by element
replace: true,scope: {
collection: '='
},template: "<ul class=\"nav nav-list tree\"><member ng-repeat=\"member in collection\" member=\"member\"></member></ul>"
}
})
directives.directive('member',function ($compile) {
return {
restrict: "E",replace: true,scope: {
member: '='
},template: "<li ng-show=\"member.open\"><span><input type=\"checkBox\" ng-model=\"member.selected\" class=\"sideChkBox\"><a class=\"tree-toggle\" ng-click=\"toggleNav()\"><i class=\"icon-chevron-right\"></i>{{member.data}}</a></span></li>",controller: function($scope,$element){
$scope.toggleNav = function(){
angular.forEach($scope.member.children,function(child,key){
if(child.open==true){
alert("a")
child.open=false;
} else {
child.open=true;
alert("b")
}
})
}
},link: function (scope,element,attrs) {
if (angular.isArray(scope.member.children)) {
element.append("<collection collection='member.children'></collection>");
$compile(element.contents())(scope)
}
}
}
})
解决方法
这是因为你正在编译element.contents(),包括< a>使用ng-click,应该已经编译过了.在您调用手动编译时,它会再次编译.
你可以解决这个问题:
...
if (angular.isArray(scope.member.children)) {
var newMemEL = angular.element("<collection collection='member.children'></collection>");
element.append(newMemEL);
$compile(newMemEL)(scope);
}
...
看起来你正在尝试创建一个树视图,在这种情况下,最好使用ngInclude而不是创建自定义指令,看看这个plunker,注意它不适用于Angular 1.2.0rc1,因为这个issue

javascript – d3.js关于“点击”事件处理运行功能没有点击事件
我正在为我的d3可视化进行鼠标点击事件处理:
fooCircle.on("click",fooFunction("barParameter"));
我的问题是该函数运行时没有我必须单击该元素.我知道这是因为我把print语句放在函数中.
有趣的是,当我将函数更改为不是接受任何参数的函数时,函数的行为应该是它应该的,这意味着当我单击相应的元素时它会运行:
fooCircle.on("click",fooFunction);
解决方法
有人帮我解决了这个问题.解决方案是:
fooCircle.on("click",function () {fooFunction("barParameter"); });
这样,函数被传递给on函数,而不是函数的结果.

javascript – Jquery – IE6中选择下拉列表中的点击事件问题
我遇到了jquery函数的问题.它适用于FF但不适用于IE 6.我希望在单击选择下拉列表中的任何选项时触发该功能.这是我的功能的开始:
$('#titleSelect option').click( function() {
alert("title clicked");
......
});
这是我的下拉列表:
<select id="titleSelect">
<option></option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
因此在FF中,警报被触发,但在IE中却没有. IE识别select上的click事件是否存在任何问题?如果有的话,是否有任何解决方法.
解决方法:
为什么你不使用onChange事件?喜欢:
$('#titleSelect').change( function() {
alert("title "+$(this).val()+" clicked");
......
});
您可以在此处找到jQuery更改事件文档:
http://docs.jquery.com/Events/change#fn
我们今天的关于javascript – 覆盖以前绑定的点击事件和js覆盖方法的分享已经告一段落,感谢您的关注,如果您想了解更多关于IE8的JavaScript点击事件(onclick)不兼容的解决方法_javascript技巧、javascript – Angular JS:为什么我的点击事件会被触发两次?、javascript – d3.js关于“点击”事件处理运行功能没有点击事件、javascript – Jquery – IE6中选择下拉列表中的点击事件问题的相关信息,请在本站查询。