dom が作成された後に読み込まれた html 要素に対するデフォルトのイベント アクションを防ぐにはどうすればよいですか。コードの最初の行でわかるように、jquery .load メソッドを介して別のページを含むページがあります。
3 行目から始まるコードが機能していないようです。a.clearCart のリンクをクリックすると、ブラウザはバックグラウンドでページを要求する代わりにページをロードするだけです。クラス clearCart とのリンクは、'Cart.php' という別のファイルにあり、ページの準備ができたときにロードされます。
以下のページは:index.php
$(document).ready(function(e) {
$('#cart').load('./ajax/Cart.php');//a.clearCart is located in this file
$("a.clearCart").click(function(e)
{
e.preventDefault();
return false;
$.getJSON('./ajax/clearCart.php?','id=12',check);
function check(data)
{
if(data.Status == "Success")
{
alert("Update Cart");//For Debugging Only,should call UpdateCart()
}
else if(data.Status == "Failed")
{
alert("WTF");//Welcome to Finland
}
}
});
function UpdateCart()
{
$('#cart').load('./ajax/Cart.php');
}
$('.formInfo form').submit(function(e) {
var id = this.prodId.value;
var qta = this.qty.value;
var data = {prodId:id,qty:qta};
$.getJSON('./ajax/addcart.php',data,processData);
function processData(data)
{
if($('p.message').text().length > 5)
{
$('p.message').empty().removeClass('.success').removeClass('failure');
}
if(data.Status == "Failed")
{
$('p.message').append(data.Reason).addClass('failure');
}
else if(data.Status == "Success")
{
$('p.message').append(data.Reason).addClass('success');
UpdateCart();
}
}
return false;
});
});