今天一个网页需要动态插入输入框。
html
<ul id = "input_item"> <li><input type=text> <input type=number></li> </ul>
需要在点击最后一个input的时候插入一个li来准备下次输入。使用on事件绑定。
javascript
ul = $("#input_item"); $("#input_item").on("click", "input:last", function(){ createInput(); });
上面这样写能正确找到最后一个input。但是如果这样写
javascript
ul = $("#input_item"); $("#input_item “input:last").on("click", function(){ createInput(); });
则只会简单的将事件绑定到第一个li的最后一个input。
请问这里区别产生的原因是什么
//是一个动态绑定的过程,是事件到达#input_item后,在判断target元素是否符合input:last,再决定是否执行相应函数
//是一个静态绑定的过程,一开始就绑定了,也就是$("#input_item input:last") 就计算出了具体的DOM元素。createInput添加的的不会被绑定