jquery调用LIVE里面的javascript函数永远不会发生

时间:2009-10-08 22:45:50

标签: javascript jquery ajax live

我正在做一个返回一些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 个答案:

答案 0 :(得分:0)

我可能会遗漏一些东西,但你是否尝试过这种方式?

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

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

});

答案 1 :(得分:0)

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

    $('#trash{$roleId}').live('click',function(e) {
      e.preventDefault();
      alert('trash clicked');
      // ...
      return false;
    });

答案 2 :(得分: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;
$(this).parent().remove(); subtractSelectionCount(); return false;

答案 3 :(得分:0)

您的currentSelectionCount是全局变量吗?也许正在调用函数,因为这个函数不能正常工作?

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

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

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