语义正确的jQuery触发器
在使用jQuery开发时,我经常使用href='#'id='myTrigger'作为事件的触发器,在这种情况下,我结合return false来阻止它实际用作超链接。以前,每当我在这里发布代码时,我都会因为使用超链接作为触发器而被一些更有经验的人处以私刑。我应该使用input type=“button”,还是只给任何元素一个ID并将其用作触发器语义正确的jQuery触发器,jquery,triggers,semantics,Jquery,Triggers,Semantics,在使用jQuery开发时,我经常使用href='#'id='myTrigger'作为事件的触发器,在这种情况下,我结合return false来阻止它实际用作超链接。以前,每当我在这里发布代码时,我都会因为使用超链接作为触发器而被一些更有经验的人处以私刑。我应该使用input type=“button”,还是只给任何元素一个ID并将其用作触发器 jQuery触发的最佳实践是什么?您应该在这种情况下使用适当的方法。不要添加超链接,只需将单击事件添加到已经存在的元素中即可。如果它是一个,那么将单击事
jQuery触发的最佳实践是什么?您应该在这种情况下使用适当的方法。不要添加超链接,只需将单击事件添加到已经存在的元素中即可。如果它是一个
,那么将单击事件添加到
如果它是一个那么将其添加到该事件中。我通常会执行以下操作:
<div id=myTrigger'>Click Me</div>
。。。然后,您不需要使用返回false
来停止href触发,我过去遇到过这个问题;例如,如果在JavaScript运行之前单击它,它无论如何都会启动。这种方式在我看来也有点“正确”,但还有其他的方式
当然,你可以使用几乎任何东西来点击它;div、span、img、button等等-我几乎不再使用submit,总是像上面那样使用一个按钮。只需使用当时最好的…这取决于您正在做什么,以及元素的默认行为是什么
例如,如果您要通过在弹出窗口中打开页面来替换链接的默认行为,那么使用链接是非常有意义的。搜索引擎仍将看到该链接,对于那些禁用了客户端脚本的少数人来说,它将优雅地降级
另一方面,如果您使用的事件与使用链接的导航完全不同,那么您应该使用不同的元素
要停止链接的默认行为,可以使用preventDefault
方法。例如:
$('a#info').click(function(e){
alert('info');
e.preventDefault();
});
<div class="button">Eat me</div>
$('.button').click(function(){ alert('Eaten.'); });
请注意,不需要使用id来定位要捕获事件的元素。id是指向元素的有效方法,但指向元素的任何方法都是有效的。例如:
$('a#info').click(function(e){
alert('info');
e.preventDefault();
});
<div class="button">Eat me</div>
$('.button').click(function(){ alert('Eaten.'); });
吃了我
$('.button')。单击(函数(){alert('eat');});