jQuery没有't将CSS添加到附加的输入中
jQuery doesn't add CSS to appended input
问题是jQuery没有将CSS添加到附加的输入中。我还创建了演示http://jsfiddle.net/heY2u/
HTML:
<div id='container'></div>
<input type="text" value="Test1">
JS:
$('input, textarea, select').on('focusin', function () {
$(this).data('holder', $(this).attr('placeholder'));
$(this).attr('placeholder', '');
$(this).css('outline', '#F78181 solid 1px');
});
$('input, textarea, select').on('focusout', function () {
$(this).attr('placeholder', $(this).data('holder'));
$(this).css('outline', '');
});
$('<input type = "text" value = "Test2">').appendTo('#container');
alert(123);
您需要放置以下行:
$('<input type = "text" value = "Test2">').appendTo('#container');
在其他jQuery之前。它之所以失败,是因为您使用的语法只会将代码应用于DOM中已经存在的元素。因此,您需要先将元素添加到DOM中,然后应用其他代码。
jsFiddle示例
或者,使用.on()的委派语法,如:
$(document).on('focusin', 'input, textarea, select', function () {
这将允许您将事件绑定到DOM中已经存在的任何元素,以及以后动态添加的任何元素
来自文档:
事件处理程序仅绑定到当前选定的元素;他们必须在代码调用.on()时存在于页面上。为确保元素存在并且可以选择,请执行事件中元素的文档就绪处理程序内部的绑定页面上的HTML标记。如果新的HTML正在被注入到页面中,选择元素并在生成新HTML后附加事件处理程序放置到页面中。
jsFiddle示例
相关文章:
- 为具有相同类的多个输入添加、移除和添加一个类
- 为收音机点击的输入添加值,然后删除
- 单击向输入添加文本值的链接
- 为数字输入添加特殊字符
- 敲除-将用户输入添加到表中的问题
- 只选中一个复选框,然后为选中的输入添加类
- 将 html 输入添加到表中
- 将表单中的输入添加到同一页面中的表中,而无需重新加载
- 将用户输入添加到数组中并在单击时显示
- 显示输入,然后将输入添加到剪贴板ie11
- Javascript:根据用户输入添加到静态URL;添加#xyz
- 通过jquery为mvc项目中动态添加的输入添加验证规则
- 未将标准输入添加到Angularjs Form$Scope中
- jQuery在单击时向输入添加文本
- 当使用AngularJS将新输入添加到另一个输入字段时,如何清除输入字段中的值
- 复选框将输入添加到文本框总选择和总选择成本
- Blueimp为多个输入添加了上传触发器
- 在JavaScript中单击按钮时将用户输入添加到列表
- 表单:如何为新添加的输入添加验证规则
- 通过单击向输入添加值