jquery通过ajax防止元素上的默认事件

jquery通过ajax防止元素上的默认事件,jquery,Jquery,如何防止在创建dom后加载html元素的默认事件操作。 我有一个页面,它通过jquery.load方法包含另一个页面,正如您在代码的第一行中看到的 从第三行开始的代码似乎不起作用。当我单击带有.clearCart的链接时,浏览器只是加载页面,而不是在后台请求页面。 clearCart类的链接位于名为“Cart.php”的单独文件中,该文件在页面准备就绪时加载 下面的页面是:index.php $(document).ready(function(e) { $('#cart').load(

如何防止在创建dom后加载html元素的默认事件操作。 我有一个页面,它通过jquery.load方法包含另一个页面,正如您在代码的第一行中看到的

从第三行开始的代码似乎不起作用。当我单击带有.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;
    });


});
您可以使用
live()
on()
函数。我将使用
on()
显示,因为从jQuery 1.7开始,
live()
已被弃用:

改变

$("a.clearCart").click(function(e)

  • -从jQuery 1.7起已弃用

由于
返回false,click函数不执行任何操作在其中。这将通过返回
false
结束函数


删除它,ajax代码将被执行。

非常感谢!!我在拉扯我的头发
$(document).on('click', 'a.clearCart', function(e) {
    // Code goes here
}).