2016-04-26 40 views
1

我正在研究HTML5應用程序框架,由SAP JEE應用程序服務器運行,爲企業及其Intranet和Extranet站點構建。它基於網格框架「Semantic UI」,此外還包含很多(也是第三方)Javascript。如何找到哪些Javascript觸發或處理事件?

我目前正在研究中的錯誤,其中,在菜單中,當頁面滾動向下點擊特定的圖標,使網頁不知何故再次向上滾動。
既然有這周圍大量的Javascript,我目前在努力尋找JS代碼片段,這是造成這一奇怪的行爲。

我讀過this post here,並認識了事件中的Firebug登錄並在Chrome中檢查事件處理程序,但這並沒有真正幫助我。

我發現使用

$(<my Elem>).on('click', function(event){ 
    event.preventDefault(); 
}) 

我可以防止滾動,但我仍然沒有發現它的原因。

有沒有人如何找到這樣做的真正原因一些建議嗎?

+0

如果跟蹤事件處理程序不工作,你可以搜索你的代碼.scrollTop'的'出現(這是最有可能的財產操縱改變滾動)。 – nils

+2

你確定該行爲是由JavaScript引起的?之類的東西''可能會導致滾動以及當click事件不正確經處理。 – str

+0

Bam,就是這樣!愚蠢的我,我應該知道這一點。您能否將您的評論添加爲答案,讓我讚不絕口呢? – Windwalker

回答

1

這種行爲可能是由幾個不同的原因造成的。其中一個經常被忽視的是像<a href="#">Some JavaScript Handler</a>這樣的鏈接。

當JavaScript處理不妥善處理該事件(例如,通過調用event.preventDefault(),HTML鏈接之後,將除了JavaScript處理。大多數瀏覽器去頂處理鏈接到一個空的定位標記#這個頁面,這可以很容易地使用空href屬性像<a href>Some JavaScript Handler</a>時避免。

相關問題