在调用ajax资源时,我经常使用带有href='#'
的链接。
我注意到,单击这些链接时 IE 会发出“咔哒”声。
解决方法如下:
$("#element")
.click(function(){return false;})
.bind("click", function(){ alert(this); });
但是,当我尝试将此功能封装在 jQuery 插件中时,我没有成功返回“clicked”元素。
例如,如果我使用上面的方法,我将获得被单击的实际 A 元素。
但是如果我写一个这样的插件:
(function($){
$.fn.clickless = function(fnCallback) {
return this
.click(function(){return false;})
.bind("click", function(){
fnCallback.call();
});
}
})(jQuery);
然后调用
$("#element").clickless(function(){
alert(this);
});
我将获得 Window
对象,当我尝试查找实际的 A 标记时,这没有帮助。
也许我只是错误地编写了插件——有什么想法吗?
非常感谢
迈克尔
最佳答案
终于成功了——
//jQuery.clickless.js
(function($){
$.fn.clickless = function(fnCallback) {
return this
.click(function(){return false;})
.bind("click", function(){
fnCallback.apply(this);
});
}}
)(jQuery);
编辑:
感谢科巴尔和朱利安(达摩倡议)——非常感谢。
关于jquery - 使用 jQuery .click() 事件和 <a href 'click'/> 时,在 IE 中发出声音 ='#',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/648248/