首頁  >  文章  >  web前端  >  jQuery:.click()無效問題的分析介紹

jQuery:.click()無效問題的分析介紹

黄舟
黄舟原創
2017-06-27 10:07:561942瀏覽

這篇文章主要介紹了jQuery中$("a").click()無效問題分析,需要的朋友可以參考下

今天做表格前台匯出到xls時,想自動觸發a的點擊。但失敗。最後找到這個文件。

我嘗試過多次用jQuery模擬使用者點擊a標籤的功能,但都沒有成功,並且困擾了很久。前段時間的一次發呆,冒出了新的想法,於是就動手進行了測試。

先看下邊的程式碼:

<html>
<
head
>磨途歌-A标签测试1<head>
<body>
   <a href="http://blog.mo2g.com">磨途歌<a>
</body>
</html>
<script src="http://ajax.google
api
s.com/ajax/libs/jquery/1.7.2/jquery.min.js"><script>
<script>
jQuery(function($) {
  //给所有A标签绑定点击触发
事件
  $(&#39;a&#39;).click(function() {
    alert(1);
  });
  //触发所有A标签的点击事件
  $(&#39;a&#39;).click();
});
</script>

  上邊的程式碼確實已經觸發了點擊A標籤事件,但大家一定也會有疑問,為什麼點擊了A標籤,卻不觸發A標籤的跳轉事件?

一開始還以為是瀏覽器做了相應的安全措施,屏蔽了JS對A標籤的操作,後來發現,並不是這樣的,接下來就說說其中的原委。

在開始解釋前,我先拋出一個問題。在我們點擊「A標籤」的時候,究竟是點擊了什麼才發生的跳躍?

1)點擊的是「A標籤」本身?

2)點擊的是「A標籤」中顯示的文字?

說到這裡,大家應該明白了,我們上邊的程式碼已經證實了點擊A標籤本身,並不會觸發跳到指定連結的事件,就是說,我們平常都是點擊的A標籤中的文字了?

既然有了頭緒,那就來動手試試。

 <html>
<head>磨途歌-A标签测试2<head>
<body>
   <a href="http://www.mo2g.com">磨途歌<a>
</body>
</html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"><script>
<script>
jQuery(function($) {
  var mo2g = &#39;<span id="mo2g">磨延城<span>&#39;;
  //给A标签中的文字添加一个能被jQuery捕获的元素
  $(&#39;a&#39;).append(mo2g);
  //模拟点击A标签中的文字
  $(&#39;#mo2g&#39;).click();
});
</script>

這下效果出來了,事實證明了上述的推斷是正確的,所以要想用JS模擬點擊A標籤事件,就得先往A標籤中的文字添加能被JS捕獲的元素,然後再用JS模擬點選該元素即可。

以上是jQuery:.click()無效問題的分析介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn