jQuery:delegate中select()不起作用的解决方法(实例讲解)

前端技术 2023/09/04 JavaScript

jQuery有一个很好用的delegate(事件委派)功能,可以给当前以及将来(动态添加)的元素绑定一个事件处理函数。

比如下面的例子,动态添加一个输入文本框后,我想让所有文本框(不管是不是动态添加的)在获取焦点时,自动转大写。

复制代码 代码如下:

<!doctype html>
<html>
<head>
    <title>delegate测试</title>
 <script type=\"text/javascript\" src=\"http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.js\"></script>
 <style type=\"text/css\">
*{padding:0;margin:0;list-style:none;margin:5px} 
 </style>

 <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

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。