我想在单击链接时执行一些操作,我使用以下代码来实现此目的,但它很少起作用。如果我点击链接,它通常会刷新页面,并且 1/10 次它实际上会弹出“Hi”。怎么了?
$(document).ready(function()
{
$('#slconfiglink').click(function()
{
alert("hi");
return false;
});
});
HTML:
<ul>
<li><a href="#" id="slconfiglink">Config 1</a></li>
</ul>
请注意,ID 不会在 HTML 中的其他位置复制
最佳答案
请务必提供您的<a>
有效的 href
,像这样:
<a href="#" id="slconfiglink">Config 1</a>
您的主播需要有 href
或name
是有效的,否则你会得到一些有趣的行为,这些行为会因所使用的浏览器而异。
此外,除非您需要悬停CSS等的 anchor ...您可以选择将点击处理程序放在 <li>
上。 ,像这样:
<ul>
<li id="slconfiglink">Config 1</li>
</ul>
还有一些需要检查的事情,如果不使用类,请确保 ID 是唯一的,例如 class="slconfiglink"
你的选择器将是 ".slconfiglink"
而不是"#slconfiglink"
.
如果您的元素是动态添加的,请更改为
$('#slconfiglink').click(function() {
使用 .live()
像这样(或者使用类选择器,如果多重注释适用):
$('#slconfiglink').live('click', function() {
关于jQuery .click() 未正确绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2819061/