我想只在点击其父元素时启动插件(因为该元素附加了jQuery,因此在页面加载时它不存在),所以我正在尝试以下代码:
$(document).on('click', '.wrap', function(){
ColorPicker(
document.getElementById('slider'),
document.getElementById('picker'),
function(hex, hsv, rgb) {
});
});
这很好用,但每次点击.wrap
时,都会重复(请查看演示以查看问题)。无论如何要解决它?
演示: http://jsfiddle.net/rhzzG/
(在框中单击以查看问题)
感谢。
答案 0 :(得分:2)
不是每次点击元素时都使用on()
来触发此事件,只需使用jQuery's one()
method只触发一次:
$(document).one('click', '.wrap', function(){ ... });
然后,ColorPicker将从那里接管处理自己的事件。
答案 1 :(得分:2)
您可以使用one代替
$(document).one('click', '.wrap', function(){
//...
});