Javascript 如何在动态创建的节点上绑定函数
我正在编写一个占位符启用函数Javascript 如何在动态创建的节点上绑定函数,javascript,jquery,Javascript,Jquery,我正在编写一个占位符启用函数 var t=document.createElement("input"); "placeholder" in t||$("input").each(function(){ if("submit"!==$(this).attr("type")){ var n=$(this),l=n.attr("placeholder"); n.css("color","#ccc").val(l); n.focus(func
var t=document.createElement("input");
"placeholder" in t||$("input").each(function(){
if("submit"!==$(this).attr("type")){
var n=$(this),l=n.attr("placeholder");
n.css("color","#ccc").val(l);
n.focus(function(){("#ccc"==n.css("color")||"rgb(204, 204, 204)"==n.css("color"))&&n.val("").css("color","#000")});
n.blur(function(){""==n.val()&&n.css("color","#ccc").val(l)})}
})
我可以在dom ready上调用此函数,但是如何在新创建的
输入上使用此函数?我假设您正在尝试绑定焦点和模糊回调
您可能需要()上的
,它将事件绑定到可能还不存在的元素。它取代了不推荐的live()
和bind()
函数,旨在将处理程序绑定到任何事件,无论是现在还是将来
您需要提供事件、选择器和处理程序,这实际上是最小化的。偶尔使用一些空格会使我的眼睛不那么痛。请尝试查看哪个替换了.live()。它应该约束事件live@Brentoe.on和.live的第一个参数是事件名称,如focus或其他,我不知道该使用哪个,是否有事件“oncreate”?我不明白你的意思。@Aesthete的意思是他想在输入中添加占位符属性。如果使用焦点,则会清除占位符文本,这意味着添加占位符文本几乎毫无用处,除非它们模糊了元素。他想要的是监听DOMNodeInserted,测试输入,并将上述方法应用于输入。然后监听DOMNodeInserted
事件<代码>$.on(“域节点插入”…
$.on("focus", "input", function() {});