Javascript 什么';创建同时包含输入和标签的嵌套div,然后在输入上分配事件的最佳方法是什么?
我想动态创建一个div,然后在该div中创建一个标签和输入,然后将事件处理程序(使用jQuery的$.on()函数)分配给输入元素。创建元素和分配事件的好方法是什么?我使用的是jQuery的最新版本。谢谢大家!Javascript 什么';创建同时包含输入和标签的嵌套div,然后在输入上分配事件的最佳方法是什么?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我想动态创建一个div,然后在该div中创建一个标签和输入,然后将事件处理程序(使用jQuery的$.on()函数)分配给输入元素。创建元素和分配事件的好方法是什么?我使用的是jQuery的最新版本。谢谢大家! var var $div = $('<div/>', { 'class': 'myclass', click: function(){ ... } }), $label = ..., $input = ... $div.append($label.add($input)).
var
var
$div = $('<div/>', { 'class': 'myclass', click: function(){ ... } }),
$label = ...,
$input = ...
$div.append($label.add($input)).insertAfter('#el')
$div=$(“”,{'class':'myclass',单击:function(){…}),
$label=。。。,
$input=。。。
$div.append($label.add($input)).insertAfter(“#el”)
var
$div=$(“”,{'class':'myclass',单击:function(){…}),
$label=。。。,
$input=。。。
$div.append($label.add($input)).insertAfter(“#el”)
我已经完成了上述解决方案的完整解决方案,下面是演示链接:
演示:
HTML
<div id="panel">
<input type="button" id="btnadd" name="btnadd" value="Add Div" />
<input type="button" id="btnreset" name="btnreset" value="Reset" />
<br/>
</div>
jQuery:
$(function() {
var i = 0;
$("#btnadd").click(function() {
if ($("#panel").find("div.mydiv").length) {
i = $("#panel").find("div.mydiv").length;
}
$("#panel").append("<div id='div-" + i + "' class='mydiv'></div>");
$("div.mydiv:last").append("<label>Enter Value:</label>");
$("div.mydiv:last").append("<input type='text' name='txt" + i + "' id='txt" + i + "' size='20'/><span class='val'></span>");
//bind Blur Event
$("div.mydiv:last").find("input[type=text]").on('blur', function() {
if ($(this).val() != "") {
$(this).parents(".mydiv").find("span.val").html("This Input Contains Value: \"" + $.trim($(this).val()) + "\"");
} else {
$(this).parents(".mydiv").find("span.val").html("This Input has been left empty..!");
}
});
i++;
});
//Reset List
$("#btnreset").click(function() {
$("div.mydiv", $("#panel")).remove();
});
});
在注释下方写入以下行脚本//在上述jQuery脚本上绑定模糊事件
$("div.mydiv:last").find("input[type=text]").bind('blur','bindTextbox');
而不是以下代码行:
$("div.mydiv:last").find("input[type=text]").on('blur', function() {
if ($(this).val() != "") {
$(this).parents(".mydiv").find("span.val").html("This Input Contains Value: \"" + $.trim($(this).val()) + "\"");
} else {
$(this).parents(".mydiv").find("span.val").html("This Input has been left empty..!");
}
});
演示:我已经完成了上述解决方案的完整解决方案,这里是演示链接: 演示: HTML
<div id="panel">
<input type="button" id="btnadd" name="btnadd" value="Add Div" />
<input type="button" id="btnreset" name="btnreset" value="Reset" />
<br/>
</div>
jQuery:
$(function() {
var i = 0;
$("#btnadd").click(function() {
if ($("#panel").find("div.mydiv").length) {
i = $("#panel").find("div.mydiv").length;
}
$("#panel").append("<div id='div-" + i + "' class='mydiv'></div>");
$("div.mydiv:last").append("<label>Enter Value:</label>");
$("div.mydiv:last").append("<input type='text' name='txt" + i + "' id='txt" + i + "' size='20'/><span class='val'></span>");
//bind Blur Event
$("div.mydiv:last").find("input[type=text]").on('blur', function() {
if ($(this).val() != "") {
$(this).parents(".mydiv").find("span.val").html("This Input Contains Value: \"" + $.trim($(this).val()) + "\"");
} else {
$(this).parents(".mydiv").find("span.val").html("This Input has been left empty..!");
}
});
i++;
});
//Reset List
$("#btnreset").click(function() {
$("div.mydiv", $("#panel")).remove();
});
});
在注释下方写入以下行脚本//在上述jQuery脚本上绑定模糊事件
$("div.mydiv:last").find("input[type=text]").bind('blur','bindTextbox');
而不是以下代码行:
$("div.mydiv:last").find("input[type=text]").on('blur', function() {
if ($(this).val() != "") {
$(this).parents(".mydiv").find("span.val").html("This Input Contains Value: \"" + $.trim($(this).val()) + "\"");
} else {
$(this).parents(".mydiv").find("span.val").html("This Input has been left empty..!");
}
});
演示:el指的是什么元素?另外,我想给输入元素分配一个更改函数,而不是div。谢谢您的回复
..
表示同上,与上面相同,但使用input
而不是div
#el
是您想要的、已经存在于DOM中的任何容器。谢谢,这非常有用。#el指的是什么元素?另外,我想给输入元素分配一个更改函数,而不是div。谢谢您的回复..
表示同上,与上面相同,但使用input
而不是div
#el
是DOM中已经存在的您想要的任何容器。谢谢,这非常有用。