jQuery 从动态添加的输入中清除输入、textarea 文本焦点
jQuery clear input, textarea text on focus from dynamically added inputs
我有 jQuery 脚本:
$("input:not(':input[type=button], :input[type=submit], :input[type=reset]'), textarea").each(function () {
var Input = $(this);
var default_value = Input.val();
$(Input).on("focus", function() {
if(Input.val() == default_value) Input.val("");
}).on("blur", function() {
if(Input.val().length == 0) Input.val(default_value);
});
});
如果输入已经在 html 上,它工作正常,但是如何让它在动态添加的输入上工作?
第一个想法是改变:
$(Input).on("focus", function()
到
$(document).on("focus", Input, function()
但运气不好。
更新
我想我找到了让它在任何输入上都能正常工作的方法:
$(document).on("focus", "input:not(':input[type=button], :input[type=submit], :input[type=reset]'), textarea", function(e) {
if (e.target.value == e.target.defaultValue) {
e.target.value = "";
}
}).on("blur", "input:not(':input[type=button], :input[type=submit], :input[type=reset]'), textarea", function(e) {
if (e.target.value == "") {
e.target.value = e.target.defaultValue;
}
});
我想这就是你想要的:
$(".url_add").on("click", function (e) {
$(this).prev(".elements").clone().insertBefore(this);
e.preventDefault();
});
var default_value = $('input').val();
$(document).on("focus", 'input', function () {
if ($(this).val() == default_value) $(this).val("");
}).on("blur", 'input', function () {
if ($(this).val().length == 0) $(this).val(default_value);
});
我有 jQuery 脚本:
$("input:not(':input[type=button], :input[type=submit], :input[type=reset]'), textarea").each(function () {
var Input = $(this);
var default_value = Input.val();
$(Input).on("focus", function() {
if(Input.val() == default_value) Input.val("");
}).on("blur", function() {
if(Input.val().length == 0) Input.val(default_value);
});
});
如果输入已经在 html 上,它工作正常,但是如何让它在动态添加的输入上工作?
第一个想法是改变:
$(Input).on("focus", function()
到
$(document).on("focus", Input, function()
但运气不好。
更新
我想我找到了让它在任何输入上都能正常工作的方法:
$(document).on("focus", "input:not(':input[type=button], :input[type=submit], :input[type=reset]'), textarea", function(e) {
if (e.target.value == e.target.defaultValue) {
e.target.value = "";
}
}).on("blur", "input:not(':input[type=button], :input[type=submit], :input[type=reset]'), textarea", function(e) {
if (e.target.value == "") {
e.target.value = e.target.defaultValue;
}
});
我想这就是你想要的:
$(".url_add").on("click", function (e) {
$(this).prev(".elements").clone().insertBefore(this);
e.preventDefault();
});
var default_value = $('input').val();
$(document).on("focus", 'input', function () {
if ($(this).val() == default_value) $(this).val("");
}).on("blur", 'input', function () {
if ($(this).val().length == 0) $(this).val(default_value);
});