当有
时<a href="javascript:onclick:alert('hi')"> click </a>.
$('a').click();
怎么没有弹出警告?
答案 0 :(得分:4)
你在锚中使用普通的javascript还是使用jquery。如果你想使用jquery,请执行以下操作:
$('a').click(function (e) {
e.preventDefault();
alert('hi');
});
..并将你在href =“”里面的代码删除到别的地方,比如href =“#”
答案 1 :(得分:4)
我认为这就是你想要的:
<a href="#" onclick="alert('hi')"> click </a>
然后,手动触发:
$('a').trigger('click');
答案 2 :(得分:1)
它不起作用的原因是因为你没有正确地附加点击事件,你通过把它扔进href值来攻击它。将其链接到#或真实网址,不要将JS内联。然后在外部附加事件处理程序:
$('a').click(function(e) {
e.preventDefault()
alert('hi')'
});
如果您需要手动执行,请触发.trigger('click')
。
答案 3 :(得分:1)
您无法触发点击事件的原因是您没有设置任何点击事件。
代码中的onclick:
与onclick
事件无关,它只是一个标签。将其命名为与事件相同并不会发生任何特殊情况。
因此,您的代码等同于:
<a href="javascript:alert('hi')"> click </a>
如果您想要一个事件,请使用onclick属性:
<a href="somepage.html" onclick="alert('hi');"> click </a>
答案 4 :(得分:1)
有一种方法可以使点击触发器与href一起使用。您必须使用事件目标将window.location调用绑定到click事件。这将导致触发任何onclick操作,然后是href目标。像这样:
$("a").click(function(event) {
window.location = event.target.href;
});
$("a").trigger("click");
答案 5 :(得分:0)
问题是你的href代码。当用户点击链接时,有两种方法可以使链接调用javascript函数:
<a href="javascript:alert('hi');">click</a>
<a href="" onclick="alert('hi');">click</a>
现在您可以使用jquery代码单击链接。
答案 6 :(得分:0)
有些情况下,您无法将操作从href
移至onclick
。 (比如ASP.NET回发链接按钮)
我在下面编写了href
动作感知功能,以便在这种情况下触发点击:
function triggerClickEvent(element) {
var e = $(element).click();
if (e.attr('href').indexOf('javascript:') === 0)
eval(e.attr('href').replace('javascript:', ''));
}
答案 7 :(得分:0)
我发现这个问题的解决方案是通过http://code.jquery.com/jquery-1.7.2.min.js链接导入JQuery,而不是在我的localhost上。我正在使用Kohana并且奇怪地做了魔术。