//<![CDATA[
$(window).load(function() {
$('.n_val').focusout(function() {
alert(this.id);
});
});//]]>
动态生成文本框
buffer += "<tr><td>" + nomen_list.getName() + "</td><td><input type='text' style='width:50px' class='n_val' id=" + nomen_list.getId() + "-" + nomen_list.getCat() + " value=" + nomen_list.getVal() + " /></td></tr>";
我动态获取文本框,但focusout
不适用于动态生成的文本框,而同一页面有一些文本框,这是硬编码的,上面的脚本会被触发。
答案 0 :(得分:9)
$(window).load(function() {
$(document).on('focusout','.n_val',function() {
alert(this.id);
});
});
您可以使用文本框中最近的父ID或类,而不是使用文档。我不知道你的html布局,因此使用文档。另见jQuery on。
答案 1 :(得分:2)
$(document).on("focusout", ".n_val", function(){
alert("hi");
});
答案 2 :(得分:0)
试试这个:
$(document).ready(function() {
$(document).on('focusout','.n_val', function() {
alert(this.id);
});
});
答案 3 :(得分:0)
$(document).on('focusout', '#randmSubstationTable tbody tr td', function () {
$('#randmSubstationTable tbody tr td')
.focusout(function(){
$(this).parent().parent().children().index($(this).parent());
});
});
答案 4 :(得分:-1)
在将每个文本框添加到DOM后,您应该调用focusout
。在这里你可能会很快调用它(在加载事件时,可能会在添加动态文本框之前发生)