我有以下代码。我想要实现的是当我点击1时它会禁用1 onclick功能并且剩余需要可用。当我点击2时,1和3需要onclick功能但是2不需要它。
我需要实现像分页一样。我怎么能这样做。
<div class="test">
<a href="javascript:void(0);" onclick="test1(1);">1</a>
<a href="javascript:void(0);" onclick="test1(2);">2</a>
<a href="javascript:void(0);" onclick="test1(3);">3</a>
</div>
function test1(val)
{
$(this).attr('onclick','').unbind('click');
alert("hai");
}
但我每次都会收到警报。
答案 0 :(得分:1)
我想你想在最后点击的按钮上禁用该功能。你可以这样做:
<div class="test">
<a href="javascript:void(0);" onclick="test1(1);">1</a>
<a href="javascript:void(0);" onclick="test1(2);">2</a>
<a href="javascript:void(0);" onclick="test1(3);">3</a>
</div>
的Javascript
var lastClickedInt;
function test1(val)
{
if (val !== lastClickedInt) {
lastClickedInt = val;
alert("hai");
}
}
答案 1 :(得分:-1)
最好的方法是使用类和事件委派:
<div class="test">
<a href="javascript:void(0);" onclick="test1(1);">1</a>
<a href="javascript:void(0);" onclick="test1(2);">2</a>
<a href="javascript:void(0);" onclick="test1(3);">3</a>
</div>
$('div.test').on('click','a',function(e) {
if(!$(this).hasClass('disabled')) {
//you're event delegation code
}
//disable this link and "enable" it's siblings
$(this).addClass('disabled').siblings().removeClass('disabled');
});