將javascript事件綁定到我的自定義MVC控件的最佳方式是什麼?我最初的想法是使用Html Helpers創建控件,這些控件爲它們提供了一個表示它們是什麼樣的控件的css類。然後,在document.ready上,我將使用jQuery通過它們的類名選擇所有這些控件並綁定它們的事件。將javascript事件綁定到MVC控件
不過,我很擔心按類名選擇整個dom的速度。我已經閱讀過(並且經歷過)這個速度有多慢,特別是在我們需要針對這個項目的IE8中。
我可以通過爲每個頁面創建一個js文件來選擇ID,但我寧願不這樣做,因爲它是一個複雜的網頁應用程序,有很多頁面。如果視圖至少包含一種類型的控件,我寧願爲每種類型的控件包含一個js文件。
css類是我的最佳選擇嗎?任何其他想法?我正在使用MVC3。
謝謝,但我無法通過上下文菜單中選擇作爲控制可以在頁面上的任何地方。只是要清楚,我不能夠選擇「每頁」,它必須是一個通用的方法,可以在Web應用程序中使用。看我的編輯。 –
@JoshNoe我不明白爲什麼你不能通過ID選擇而不爲每個頁面創建一個js文件。僅僅是因爲你不想包含不在頁面上的控件的代碼?如果是這樣,那麼當你聲稱如果視圖至少包含一種類型的控件時,你寧願爲包含在視圖中的每個控件擁有一個js文件,那麼聽起來就像你在正確的軌道上。你不能這樣做,並通過ID選擇? – lbstr
我的js文件如何知道要選擇的ID?例如,假設我在兩頁上有一個控制類型「CustomDropDown」。其中一個頁面的ID爲「companies」的CustomDropDown,另一個頁面的Id爲「racecars」。這兩個頁面都將使用相同的「CustomDropDown.js」文件,該文件不具有這些ID的任何知識。 –