有没有一种方法可以检测到何时使用.html(htmlString).append(content[,content]) jQuery函数添加了该选择列表时更改了选择列表的值?

HTML代码:

<ul class="htmlClass">
   <!-- Populated via JS -->
</ul>

JAVASCRIPT代码:
var MyDropDownMenu= "";
MyDropDownMenu += '<select class="field">';
MyDropDownMenu += '<option value="1">Option 1</option>';
MyDropDownMenu += '<option value="2">Option 2</option>';
MyDropDownMenu += '</select>';
$('ul.htmlClass').html(MyDropDownMenu);

$(".field").change( function() {   //Doesn't work!!!
      alert("test1");
});

$(".htmlClass").change( function() {  //work
      alert("test2");
});

最佳答案

您需要使用事件委托(delegate)

$('ul.htmlClass').on('change',".field", function() {
      alert("test1");
});
  • http://learn.jquery.com/events/event-delegation/
  • 10-07 22:01