2
4

4 回答 4

2

终于搞定了——

//jQuery.clickless.js

(function($){    
    $.fn.clickless = function(fnCallback) {        
        return this
                .click(function(){return false;})                
                .bind("click", function(){                        
                    fnCallback.apply(this);                
                });    
           }}
)(jQuery);

编辑:

感谢 cobbal 和 Julian(来自 Dharma Initiative)——非常感谢。

于 2009-03-15T20:24:10.683 回答
1

试试这个:

(function($){
    $.fn.clickless = function(fnCallback) {

      $.each(this, function() {

        var element = $(this);

        element.click(function(){return false;})
               .bind("click", function(){
                    fnCallback();
               });
     });

     return this;

   }
})(jQuery);
于 2009-03-15T18:21:51.070 回答
0

为什么不直接使用:

.bind("click", fnCallback);

因为那将this正确设置。

编辑:这个版本实际上有效:

.bind("click", function(){
    fnCallback.apply(this);
});

在 jQueryeach()中四处寻找以了解它使用了什么

更多编辑:
看看如何apply()call()不同,这可能是更正确的方法。

.bind("click", function(){
    fnCallback.call(this);
});
于 2009-03-15T19:07:28.327 回答
-3

或者,您需要建议您的用户如何进入控制面板、声音以及关闭开始/结束导航的声音。

我个人讨厌这些咔嗒声,所以这是我在安装 Windows 时关闭的第一件事。

于 2009-03-15T18:59:41.403 回答