1
我剛剛從jquery 1.5.2升級到1.10.2。 我將所有.live()調用更改爲.on()。但由於某種原因,一個特定的按鈕不再有效。 這裏的邏輯:點擊事件升級到jquery後不會觸發1.10.2
$("#add_to_rule").on("click", function() {
console.log('inside add');
//only add if no validation errors.
if (($('#contact_details').val().length == 0)) {
$('#validation_error').html("There is no information to add");
return false;
}
var emess = $("#validation_error").text();
if (emess.length == 0) {
add_routing_entry();
update_call_routing_tag();
}
});
它永遠不會打印在控制檯中的「內部添加」的消息。 從控制檯窗口中,我已經測試確保元素存在並返回正確的值。下面是一些結果從我的控制檯內部測試:
$('#add_to_rule').val();
"Add to Rule"
$('#add_to_rule').on("click");
<input id="add_to_rule" type="button" class="submit" value="Add to Rule">
我也試着上的按鈕更改值作爲測試,從控制檯窗口中,像這樣:
$('#add_to_rule').val("test");
[
<input id="add_to_rule" type="button" class="submit" value="test">
]
它確實更新了我的按鈕上的文字。
最後,對於它的價值,我甩了jQuery庫它是由添加以下行撿的版本:
console.log(jQuery.fn.jquery);
它打印1.10.2。
任何關於我可能會做錯的建議將不勝感激。 謝謝。
我寫了一個答案解釋(HTTP [上生活和它是如何約束之間的差異]一些: //stackoverflow.com/a/19267312/542251)最近 – Liam
該按鈕是第一次加載頁面的一部分,還是以後添加的? – Archer
[Jquery.on()方法無法在動態內容上工作的可能的重複](http://stackoverflow.com/questions/15090942/jquery-on-method-not-working-on-dynamic-content) – Liam