台灣最大程式設計社群網站
線上人數
1752
 
會員總數:245140
討論主題:189043
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> jQuery - a tag onClick 事件的疑問
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
jQuery - a tag onClick 事件的疑問
價值 : 200 QP  點閱數:3804 回應數:4

樓主

屁ö圓
初學者
10 46
1292 55
發送站內信



上面是一個很單純的 a Tag. 請問以下二個問題:

1. 如果有一個click event, 如下:



在這個click function裡, 沒有寫e.preventDefault()去停止<a>的連結動作,那是否在click function裡的 A statement, 有可能不會被執行呢?


2. 如果有二個click event, 如下:



是否有可能 C statemnt 不會被執行到呢?




懇請解惑~

搜尋相關Tags的文章: [ onClick ] , [ preventDefault ] , [ a tag ] , [ jquery ] , [ javascript ] ,
本篇文章發表於2016-09-01 10:57
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

彩虹
檢舉此回應
在不同瀏覽器會有不同的執行結果

1.A statemt 不一定都會被執行

我的情況

chrome:都會執行 A statemt
firefox:都會執行 A statemt
IE:沒有執行


2.C statemt 也不一定會被執行

我的情況

chrome:都會執行 C statemt
firefox:都會執行 C statemt
IE:沒有執行



另外,是否真的需要用到a tag呢?
a link,在配上 click 真的不是很好

如果真的要用的話
你可以把把href拿掉,變成:<a>test link</a> (但是滑鼠移動到上面,就不會有「手指」圖案)
之後如果要轉頁的話 在使用window.location

或者不要使用<a>tag,你可以用別的方式<div>、<span>、<button>
之後可以加上CSS「cursor: pointer」,讓滑鼠移動到上面可以出現「手指」的圖案 (可以達到跟a tag 一樣的效果)





本篇文章回覆於2016-09-01 11:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

彩虹
檢舉此回應
<a href="javascript:void(0)">test link</a>
也是蠻常用的

另外有一點要再補充一下
【onclick】會比【href】先執行 ((這點是確定的))

你可以試試看,將href改成,href="javascript:func1();"

html


javascript/Jquery

本篇文章回覆於2016-09-01 11:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

彩虹
檢舉此回應
IE再次測試後,一樣有執行A statemt、C statemt
((有時後頁面太快跳轉,所以會認為沒執行~ 但其實是有執行的))
本篇文章回覆於2016-09-01 12:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
其實~~~~上面的說法並不完全對的。

執行有一個順序。

一般來說,a元件的優先運行就是href處理
但對ie來講。他的href是無法拒絕的。

所以他會先運行a本身的href再去運行click事件。但往往因為轉頁了。
就算要去運行也會被強制中斷了。

一般來說,如果真的有必要要使用a連結的情況。
我就曾經有做過一個舊網站。為了防止a的href觸動。

且又不太想去改動原來的a元件的屬性。
但又想做出一些轉頁的效果。

我常會用的方式是如下的程式碼


以上的方式其實就是很單純的讓所有的a連結轉成js化處理。
之後就會全用一個function來做處理其它的事件。

這招在改舊程式上我很常用。

如果是開發新的程式。我就比較不會去使用a元件來做處理。
本篇文章回覆於2016-09-06 10:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.