jQuery PurnceDefault()最初のクリックでは機能していません
-
10-12-2019 - |
質問
次のコード
$("#logoutLink").click(function(event) {
event.preventDefault();
var dataString = "action=confirm";
$.ajax({
type: "POST",
url: "requests.php",
data: dataString,
success: function(msg) {
if (msg == "success") {
alert('logged out');
} else {
showNotification("error", "" + msg + "");
}
},
error: function() {
showNotification("error", "Could not log you out at this time, try again.");
}
});
return false;
});
.
とid="logoutlink" のリンク
ログインシステムがリンクを更新してHTMLコンテンツを追加し、Logout LinkがHTMLに存在しないため、LinksでHTMLコンテンツを追加しているため、予防者Defaultは初めて動作しません。問題はありますが、私の質問は、HTMLコンテンツがページの更新なしでLink ID LogoutLinkが追加されたことを知っているのでしょうか。
解決
あなたの質問は明確ではありませんが、リンクを動的に追加することで、.live('click', ...)
、またはNew JQuery 1.7 .on()
を使用する必要があります。
他のヒント
あなたの質問は少し混乱していますが、live()
を使ってあなたのイベントハンドラをバインドしてみてください:
$("#logoutLink").live('click', function(event) {
// ...
.
http://api.jquery.com/live/ 詳細については、
ログインシステムがリンクを追加した後にのみクリックハンドラ$("#logoutLink").click(function(event) {}
を追加する必要があるため、次のを実行します。
function addHandlers(){
$("#logoutLink").click(function(event) {
event.preventDefault();
// anything else
}
}
$(document).ready(function(){
addHandlers();
});
.
リンクが追加されたときにaddHandlers();
を呼び出します
所属していません StackOverflow