我有一些代码html:
<button>click 1</button>
<button>click 2</button>
和jQuery代码:
jQuery(document).ready(function(){
$("button").click(function(){
console.log('yeah');
$(this).siblings().on('click');
$(this).off('click');
});
});
我想要的东西:
它也是相同的,而不是第一次,我点击按钮2
但我想知道为什么它不起作用。
答案 0 :(得分:2)
您可能正在寻找: -
$(document).ready(function(){
$("button").on('click', handleClick);
});
function handleClick()
{
$(this).siblings().on('click', handleClick);
$(this).off('click');
console.log('yeah');
}
另一种方法是使用one
$(document).ready(function(){
$("button").one('click', handleClick);
});
function handleClick(e)
{
e.stopImmediatePropagation();
$(this).siblings().one('click', handleClick);
console.log('yeah');
}
更新以避免多次点击: -
$(document).ready(function () {
$("button").on('click', handleClick);
});
function handleClick(e) {
$(this).off('click').siblings().off('click').on('click', handleClick); //turn off the handler attached to the siblings (during initial load) before attaching it again.
console.log('yeah');
}