我把以下例子
<script>
$( "#buttom1" ).click(function() {
console.log('ok')
$.fn.thefuncion();
});
$.fn.thefuncion=function(){
jQuery('#buttom2').click(function(){
alert('ready')
});
}
</script>
<input type="submit" name="button" id="buttom1" value="buttom 1">
<input type="submit" name="button" id="buttom2" value="buttom 2">
问题是警告出现按下1按钮的次数
无论按下1按钮的次数如何,我都需要按下按钮2后只显示警告
答案 0 :(得分:2)
尝试以正确的方式进行。不要多次绑定事件。这是不必要的。你可以以事件授权的形式实现你想要的目标。
$( "#buttom1" ).click(function() {
jQuery('#buttom2').addClass("active");
});
jQuery(document).on('click','.active', function(){
alert('ready')
});
其中document
将成为事件冒泡的终点,由此触发事件的罪魁祸首将被捕获并且如果有的话将触发其事件。因此,不必遍历文档。而不是document
传递按钮buttom2
答案 1 :(得分:0)
您可以使用jQuery .one()
函数:
$( "#buttom1" ).one('click', function() {
console.log('ok')
$.fn.thefuncion();
});
此事件将在第一次点击button1时触发,button2事件将仅设置一次。