jquery .click()不起作用?

时间:2009-09-27 02:35:48

标签: jquery

当有

<a href="javascript:onclick:alert('hi')"> click </a>.

$('a').click();怎么没有弹出警告?

8 个答案:

答案 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并且奇怪地做了魔术。