我有我的网页,它会从我的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我相信,因为它可以识别它,但点击事件不会绑定到它。 –