无法让e.preventDefault()工作

时间:2015-11-09 22:54:20

标签: jquery api jsonp preventdefault

如果有人能查看我的代码并了解为什么preventDefault无效,我真的很感激。

无论我尝试什么,链接似乎都会点击错误404页面。

np.set_printoptions(threshold=3000)
np.ones((21,100))   # no ...

2 个答案:

答案 0 :(得分:1)

正确的事件委派要求绑定时存在根元素。然后,click事件可以绑定到根元素的所有后代,无论它们是否稍后添加。请查看此文档:https://learn.jquery.com/events/event-delegation/

试试这个:

$('body').on('click', '.property-details a', function(e) {
    e.preventDefault();
    $('#content').html("test").hide().fadeIn(400);
});

答案 1 :(得分:0)

使用ajax创建锚标记时,用下面的代码替换你的jquery代码,对于那些不存在的代码,替换你的jquery代码,所以只需加载anchor click event success function of your ajax call内部它就可以了:

 $(function() {

    $.ajax({
        url: "http://linktoapi&callback=myMethod",
        timeout: 2000,
        jsonpCallback: "myMethod",
        jsonp: false,
        dataType: "jsonp",
        success: function(data) {
            var newContent = '';
            for (var i = 0; i < data.listing.length; i++) { 
                newContent += '<p class="property-details">' + '<a href="' + data.listing[i].listing_id + '">' + data.listing[i].displayable_address + '</a></p>';

            }
            $('#content').html(newContent).hide().fadeIn(400);
    $('.property-details a').on('click', function(e) {
        e.preventDefault();
     $('#content').html("test").hide().fadeIn(400);
    });
        },
        error: function() { 
            $content.html('<div class="container">Please try again soon.</div>');
        }
    });

     });