如果默认锚具有此 fiddle中所示的类 subnav,我将禁用它。
我只希望在第一次单击时禁用此功能,然后我希望恢复正常的锚功能。做这个的最好方式是什么?我尝试了一些涉及以下代码的东西,但这似乎不起作用?
$(this).unbind(event.preventDefault());
也许像这样的伪代码?
if (click count === 0 ) {
event.preventDefault();
}
还是有更好的方法来解决这个问题?
如果默认锚具有此 fiddle中所示的类 subnav,我将禁用它。
我只希望在第一次单击时禁用此功能,然后我希望恢复正常的锚功能。做这个的最好方式是什么?我尝试了一些涉及以下代码的东西,但这似乎不起作用?
$(this).unbind(event.preventDefault());
也许像这样的伪代码?
if (click count === 0 ) {
event.preventDefault();
}
还是有更好的方法来解决这个问题?
将事件处理程序与one()
docu绑定。它执行一次,之后自动解除绑定。
$(".subnav a").one("click", function(event) {
event.preventDefault();
});
或者,您可以直接在函数中自行取消绑定。为此使用命名空间很好
$(".subnav a").bind("click.myclick", function(event) {
event.preventDefault();
$(this).unbind(".myclick");
});
这很好用。第二次点击进入页面...
$(".smallNavigation > ul > li > a").click(function (e) {
$("ul.sub-menu").hide();
$("ul.sub-menu", $(this).parent("li")).show();
e.preventDefault();
$(this).unbind(e);
}
您可以在单击处理程序中使用像 self unbind 这样简单的东西。
就像是
function stopEventOnce(event) {
event.preventDefault();
$(this).unbind('click',stopEventOnce);
return false;
}
$(".subnav a").bind('click', stopEventOnce);
这对你有用
$("#elementid").bind("click", function( event ) {
alert("This will be displayed only once.");
event.preventDefault();
$(this).unbind( event );
});