2013-10-29 100 views
1

我想要启动一个插件只有当点击其父元素(因为该元素是附加jQuery所以它不存在时页面加载),所以我想下面的代码:jQuery防止功能重复点击

$(document).on('click', '.wrap', function(){ 
    ColorPicker(

     document.getElementById('slider'), 
     document.getElementById('picker'), 

     function(hex, hsv, rgb) { 

     }); 
}); 

这工作正常,但每次点击.wrap时,它都会重复(请检查演示以查看问题)。无论如何解决它?

演示: http://jsfiddle.net/rhzzG/

(点击框,看问题)

感谢。

回答

2

而不是使用on()每次被点击的元素的时间来触发这个事件,只需使用jQuery's one() method只火了一次:

$(document).one('click', '.wrap', function(){ ... }); 

然后将颜色拾取从那里接管与处理自己的事件。

JSFiddle demo

2

您可以使用one代替

$(document).one('click', '.wrap', function(){ 
    //... 
});