1

我正在做一个返回一些 HTML 和 jQuery 的 AJAX 调用:

<div id='selected'>Here is my Selection Text 
<a id='trashSelected' href=\"javascript:void(0);\">Remove</a>
</div>
<script>
        $('#trashSelected').live('click',function delete() 
        {

          // remove the container
          $('#selected').remove();

          substractSelectionCount();
          return false;
        });
</script>

如果用户单击“删除”链接,jQuery 会删除添加的容器。它完成了删除容器的工作,但调用了 substractSelectionCount(); 永远不会发生。我应该以不同的方式调用这个函数吗?
这是文档中已有的功能。在 FF、IE 8 和 Safari 中测试

4

4 回答 4

0

我可能遗漏了一些东西,但你有没有这样尝试过?

$('#trash{$roleId}').live('click',function delete() 
{

  // remove the container
  substractSelectionCount();
  $('#selected').remove();
  return false;

});
于 2009-10-08T22:47:55.837 回答
0

您的函数回调中似乎存在语法错误删除单词delete

    $('#trash{$roleId}').live('click',function(e) {
      e.preventDefault();
      alert('trash clicked');
      // ...
      return false;
    });
于 2009-10-08T22:54:57.517 回答
0

解决此问题的方法是:我没有从 ajax 调用返回脚本,而是在我的主文件中使用类。所有的响应返回都是这个字符串

<div id='selected'>Here is my Selection Text 
   <a class='trashSelected' href=\"javascript:void(0);\">Remove</a>
</div>

在我的文件中我有这样的功能


$('.trashSelected').live('click',function(){

$(this).parent().remove(); subtractSelectionCount(); return false;

});

于 2009-10-09T00:45:31.297 回答
0

currentSelectionCount是全局变量吗?也许该函数正在被调用并且因此而无法正常工作?

您是否尝试在函数中添加警报以确保它没有被调用?

function substractSelectionCount(){
 alert("I'm working!");
 currentSelectionCount--;
}

我在这个pastebin中放置了一个测试文件,它似乎与 ID 完美配合......但由于我添加了三个 div 来测试它,我不得不用类替换 ID。所以,我不确定你的代码在哪里有问题——也许你的substractSelectionCount函数在 document.ready 函数之外?

于 2009-10-09T01:20:42.993 回答