我有我的網頁,它會從我的JavaScript MVC框架動態添加ID以下元素:jQuery的處理程序不能動態的添加ID工作
<input data-bind="attr: { id: attributeName }" type="text" />
當元素被動態地呈現在頁面上時,生成的HTML看起來像這樣:
<input id="job_title" data-bind="attr: { id: attributeName }" type="text" />
然而,當我試圖點擊功能的輸入框,這是行不通的。 (雖然相同的代碼在預先存在的輸入元素上工作)。
$("#job_title").click(function() {
alert('hi');
});
當輸入元素動態添加到具有動態「id」屬性的頁面時,上述代碼似乎不起作用。我將這個元素添加到了knockout.js foreach循環的頁面中,但我不知道這是否重要。有沒有其他人遇到過這個問題? 。
這裏是真正的代碼...我怎麼能模擬$( 「身體」)()方法來替換此:
$("#job_title").typeahead({
source: searchFunction,
onselect: function(obj) {
}
});
因爲動態添加輸入元素不存在於頁面上,當你分配了點擊事件......所以在技術上,點擊事件從未受到約束。 – Wiz
這就是我的想法,但如果我做這個警報(「#job_title」)長度)。它返回1而不是0. –
@AdamLevitt我相信,因爲它可以識別它,但點擊事件不會綁定到它。 –