我正在使用jQuery 1.8.3,因此尝试从使用.live()更改为.on()
像其他许多人一样-无法解决-我在做什么错?如果使用.live()太错了
为什么它如此稳定地运作良好!

(txtbxhost是未在DOM中动态添加的文本框)

$('#txtbxhost').live('input', function() {
  // works everytime
});


$('#txtbxhost').on('change', 'input',  function() {
   // fails everytime
});




$('#txtbxhost').on('change', '#txtbxhost',  function() {
   // fails everytime
});




$(document).on('change', '#txtbxhost',  function() {
   // fails everytime
});


我在这里没有主意...帮助...

最佳答案

您可能想要:

$(document).on('input', '#txtbxhost',  function() {
   // code here
});


Check this fiddle

此外,change仅在您blur时有效-换句话说,在texbox中更改文本后单击其他位置。

所以,这也应该工作

$(document).on('change', '#txtbxhost',  function() {
   // fails everytime
});


检查updated fiddle

09-11 01:48