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() {});