jQuery强制点击(href)。

16

我有这个:

<li>
 <a href="#" data-content="visit">
  <span class="bf_hover"></span>
  <span>Visit us</span>
 </a>
</li>

我想自动打开“访问我们”链接。

我该怎么做?


1
我不明白你在问什么。 “Visit Us” 是一个span标签内的文本节点。如何“自动打开”这样的东西?打开它是什么意思?编辑:在有人编辑了您的帖子后,我想@Hussein下面的答案就是您想要的内容。 - JAAulde
4个回答

25

您可以通过以下方式触发点击:

$('li a').trigger('click');

2
@jared 这个问题不够具体。 - Hussein
@Hussein - 是的,但回答可以更具体一些。 :) - Jared Farrish
所以你们都认为li a选择器是一个好的建议吗?注意:我通常避免使用元素级别的选择器。 :) - Jared Farrish
@JaredFarrish 这个答案的目的是为了说明如何通过Jquery触发点击事件,选择器的问题是常识问题。 - Clain Dsilva

18

看起来 jQuery 不能在所有情况下强制触发超链接的点击事件,你的情况可能就是其中之一。我解决这个问题的方法是使用以下代码:

$('li a')[0].click();

这样,您将其用作DOM元素而不是jQuery对象,在许多浏览器中似乎可以正常工作。


2
是的,这会调用href属性中的代码,而$().click()则不会。谢谢! - styfle

5

将Windows位置设置为链接的href。强制单击只有在链接绑定到单击事件侦听器时才起作用。链接的默认行为是在单击时转到一个位置,但没有添加单击事件侦听器。您的解决方案应该是以下内容:

<li>
 <a id="mylink" href="#" data-content="visit">
  <span class="bf_hover"></span>
  <span>Visit us</span>
 </a>
</li>

<script>
  window.location = $("#mylink").attr("href");
</script>

-3

一种可能的方法是将 href="#" 中的井号替换为您想要带用户访问的页面链接,例如:

<li>
 <a href="visit_us.html" data-content="visit">
  <span class="bf_hover"></span>
  <span>Visit us</span>
 </a>
</li>

"visit_us.html"是指向该页面的链接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接