jQuery有一个很好用的delegate(事件委派)功能,可以给当前以及将来(动态添加)的元素绑定一个事件处理函数。
比如下面的例子,动态添加一个输入文本框后,我想让所有文本框(不管是不是动态添加的)在获取焦点时,自动转大写。
<script type=\"text/javascript\">
//动态添加一行文本输入框
function addInput(){
$(\"#ulTarget\").append(\"<li><input type=\\\"text\\\" value=\\\"aaaaaa\\\"/></li>\");
}
$().ready(function(){
$(\"#ulTarget\").delegate(\":text\",\"focus\",function(){
$(this).val($(this).val().toUpperCase());
});
})
</script>
</head>
<body>
<ul id=\"ulTarget\">
<li><input type=\"text\" value=\"123456abc\"/></li>
<li><input type=\"text\" value=\"123456abc\"/></li>
<li><input type=\"text\" value=\"123456abc\"/></li>
<li><input type=\"text\" value=\"123456abc\"/></li>
</ul>
<button id=\"btnAdd\" onclick=\"addInput()\">add input</button>
</body>
</html>
本文地址:https://www.stayed.cn/item/10487
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我