2016-05-13 43 views
0
$(document).ready(function($) { 
    $('#playerSelect').on('click', 'li.playerName', function() { 
     alert("playerSelect click " + $(this).text()); 
    }); 
    $('#newName').change(function() { 
     alert("newName change " + $('#newName').val()); 
    }); 
}); 
<ul id="playerSelect"> 
    <li><input type="text" id="newName" value="New Player"" autofocus autocomplete="off" /></li> 
    <li class='playerName'>Bill</li> 
    <li class='playerName'>Joe</li> 
</ul> 

上点击使用此代码时,我可以忽略与jQuery的变化情况下,如果我在输入栏中输入任何内容,然后改变了主意,点击一个按钮.playername,发生变化的事件。但我想要点击事件。如何不同的元素

+0

这里是演示拨弄你的代码 - https://jsfiddle.net/shershen08/3wnLocop/,你想达到什么?当你改变输入时,你会得到带有输入的警报,当你点击按钮时,你会得到按钮的值。 – shershen

+0

即使输入字段已更改,我也想注册点击事件。 – Arbuthnut

+0

你想在输入区域显示此警报“playerSelect click ...”是否改变了你的意思? – shershen

回答

0

如果我理解正确的话,你可以试试这个代码,然后:

function displayDetails(){ 
     alert("newName change " + $('#newName').val()); 
} 
$(document).ready(function($) { 
    $('#playerSelect').on('click', 'li.playerName', function() { 
     displayDetails(); 
    }); 
}); 
+0

我是一个挨打的男人!唯一的解决方法是使用keyup/keydown代替.change,并手动测试键码13(或在输入字段上单击)。至少我能以这种方式得到我想要的东西。非常感谢您的帮助。 – Arbuthnut