2012-04-30 80 views
2

我正在嘗試提高HTML頁面的加載速度。用onkeyup()替換JQuery.keyup()是否安全?

某些Javascript方法通過JQuery的keyup()方法附加到某些輸入字段。到目前爲止,我已經安全地刪除了頁面中所有JQuery的用法,但這是最後一個問題。如果可能的話,我想完全擺脫這個頁面上的JQuery。

它是一個可以接受的,安全的做法是我的JavaScript方法(HTML代碼內)直接鏈接到我的輸入字段這樣的:

<input type="text" id="my_id" onkeyup="do_something()" /> 

我關注的是以下幾點:

1)I知道JQuery處理瀏覽器中的許多角落案例和錯誤,但我只關心支持最新的瀏覽器版本(例如不是IE 8,7,6)。我很害怕引入一個錯誤。

2)從HTML中分離樣式被認爲是一種很好的做法,但Javascript代碼呢?是否有任何理由繼續使用JQuery分配我的JavaScript方法?

謝謝。

+1

如果你使用jQuery分配你的方法,你可以將這些代碼移動到一個外部javascript文件,然後可以縮小和gzipped,然後由瀏覽器緩存。 –

+0

已經是這種情況了...... – JVerstry

+0

換句話說,分配當前是在文件就緒狀態下執行的。 – JVerstry

回答

3

從HTML中分離樣式被認爲是很好的做法,但是關於Javascript代碼的是什麼 ?

這可能是主觀的。在我們公司,我們嘗試保持HTML清理腳本並僅使用腳本文件參考。在該文件中,我們將方法綁定到我們需要的字段的事件。不顯眼的JavaScript保持HTML清潔。通過jQuery或JavaScript直接取決於你我猜。另外,如果需要,js文件可以被最小化,這是我們目前所做的。

是否有任何很好的理由繼續分配我的Javascript方法與JQuery?

jQuery是跨瀏覽器兼容的。在Firefox和Firefox中可以工作的(據我所知)。如果您計劃支持任何版本的IE和任何其他瀏覽器,則根據腳本的作用,您可能需要解決瀏覽器兼容性問題。

絕不意味着使用jQuery,你會發現很多人說你不需要它的參數。
事實上,一些jQuery方法被認爲效率很低,例如.live()就是我相信的相當大的內存消耗,現在已被棄用爲on(),這似乎更好地解決了這個問題。

+0

此外,只是爲了增加這個答案,如果您在使用jQuery方法時發現瀏覽器之間不兼容,那麼jQuery論壇上的快速發佈可以幫助您獲得問題修復。 –