[英]Attach one time event to dynamically added elements
我有一个网页,其中有一个按钮,单击该按钮时,会将文本框添加到DIV。 这是我正在使用的类似代码:
的HTML
<button class="addText">Add Textbox</button>
<div class="textCont">
</div>
的JavaScript
$(document).on("click", ".addText", function() {
var textarea = $("<textarea/>", {class: "newText"});
$(".textCont").append(textarea);
});
$(document).one("focus", ".newText", function() {
alert("Great");
});
小提琴: http : //jsfiddle.net/ErRohitAgg/g3A7T/
我想做的是为添加的每个文本框的第一个焦点显示警报。 但是,焦点事件只执行一次,而不是每个文本框执行一次。
事件根据我需要的功能有什么表现吗?
而是将事件处理程序添加到每个文本区域
$(document).on("click", ".addText", function() {
$("<textarea/>", {
'class': 'newText',
one : {
focus: function() {
alert("Great");
}
}
}).appendTo(".textCont");
});
我宁愿通过首先关注新类来做到这一点:
$(document).on("focus", ".newText", function() {
if(!$(this).hasClass('focused')){
$(this).addClass('focused')
alert("Great");
}});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.