-1

我不知道这个问题的确切标题。但我想问..

<div id="listInserts">
   <div>tes <a class="del" rel="54" href="#">X</a></div>
</div>

我有一个这样的 jquery 脚本

$.get('dashboard/xhrGetListings', function(o) {

    for (var i = 0; i < o.length; i++)
    {
        $('#listInserts').append('<p>' + o[i].text + '<a class="del" rel="' + o[i].id + '" href="#">X</a></p>');
    }

    $('#listInserts').on("click",".del",function() {
        delItem = $(this);
        var id = $(this).attr('rel');

        $.post('dashboard/xhrDeleteListing', {'id': id}, function(o) {
            delItem.parent().remove();
        }, 'json');
        return false;
    });
}, 'json');

上面的脚本只对我部分有效。我希望当单击选择器集合中的项目时,删除.del可用数据而不重新加载页面。id=listInserts该项目被删除就好了,但页面正在重新加载。

4

2 回答 2

1

如果要防止页面重新加载,请使用preventDefault(),例如

$('#listInserts').on("click",".del",function(evt) {
  evt.preventDefault(); //prevents page from being reloaded
  .....
于 2013-05-05T06:06:06.137 回答
0
  • 你的代码没有和我一起重新加载
  • 但尝试在您的 get 事件中发布“on”处理程序

    //get
    $.get('dashboard/xhrGetListings', function(o) {
    for (var i = 0; i < o.length; i++)
     {
      $('#listInserts').append('<p>' + o[i].text + '<a class="del" rel="' + o[i].id + '" href="#">X</a></p>');
     }
     }, 'json');
    
    //on
    $('#listInserts').on("click",".del",function() {
    delItem = $(this);
    var id = $(this).attr('rel');
    
    $.post('dashboard/xhrDeleteListing', {'id': id}, function(o) {
        delItem.parent().remove();
    }, 'json');
    return false;
     });
    
于 2013-05-05T12:02:01.233 回答