2016-05-13 44 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