使用jQuery进行开发时,我经常转向使用href ='#'id ='myTrigger'作为事件的触发器,其中我与return false结合以阻止它实际用作超链接。每当我在此之前发布代码时,我都会被一些经验丰富的人私下用超级链接作为触发器。我应该使用input type =“button”,还是只给任何元素一个ID并将其用作触发器?
jQuery触发器的最佳实践是什么?
答案 0 :(得分:1)
我通常会这样做:
<div id=myTrigger'>Click Me</div>
使用:
$('#myTrigger').click( function() { /* do stuff */ })
...你不需要return false
来停止href射击,这在过去我遇到过问题;如果你在JavaScript运行之前单击它,它仍然会触发,例如。这种方式对我来说似乎也是“正确的”,但还有其他方法可以做到。
当然,您可以使用几乎任何东西来点击; div,span,img,button等 - 我几乎不再使用提交了,总是按上面使用的按钮。只需使用当时最好的......
答案 1 :(得分:1)
这取决于你在做什么,以及元素的默认行为是什么。
如果您通过在弹出窗口中打开页面来替换链接的默认行为,则使用链接非常有意义。搜索引擎仍会看到该链接,对于那些已禁用客户端脚本的人来说,它会优雅地降级。
另一方面,如果您使用的事件与您使用链接的导航完全不同,则应该使用其他元素。
要停止链接的默认行为,可以使用preventDefault
方法。例如:
$('a#info').click(function(e){
alert('info');
e.preventDefault();
});
请注意,不需要使用id来定位要捕获事件的元素。 id是目标元素的有效方法,但任何定位元素的方法都是有效的。例如:
<div class="button">Eat me</div>
$('.button').click(function(){ alert('Eaten.'); });
答案 2 :(得分:0)
你应该使用适合的情况。不要添加超链接,只需将click事件添加到已存在的元素中。如果它是<p>
,则将点击事件添加到<p>
,如果它是<img>
,则将其添加到该{。}}。