1

我对 jquery / javascript 很陌生。我注意到添加项目的函数 A 将起作用,但函数 B 在调用函数 A 后停止工作。我可以通过在函数 A 中重新包含函数 B 来解决这个问题,但我发现这并不优雅。当然,还有其他方法吗?我已经尝试添加 $document.ready(),但由于它包含在其中,我猜它只是循环?

这是我到目前为止所拥有的:

<script type="text/javascript" charset="utf-8">
  $(document).ready( function () {

    //Function A
    $('a#create').click( function() {
      $("#existing").append('<option value="'+portName+'">'+portName+'</option>').multiselect("refresh");
      //multiselect is a plug-in that makes select option tags nicer to look at, on refresh the html is correctly parsed for Function B to continue working, however it does not work unless I re-call Function B here. Again calling $document.ready() here doesn't work either.
    });

    // Function B
    $('a.view').click( function() {
      alert();
    });
  });
</script>

我知道函数 B 正在调用锚链接,但是函数 A 正确地为函数 B 工作创建了这些条件。在正常的文档加载中,这不是问题。但是,在调用函数 A 之后,函数 B THEN 会中断,除非我在函数 A 中包含函数 B。

我是否应该考虑创建一个调用所有其他函数来“刷新”它们的函数?我什至不确定问题是什么。我偶然发现了这个“修复”。

4

1 回答 1

2

I'm not sure if i've understood what you want to do, but I think what you are looking for is:

<script type="text/javascript" charset="utf-8">
  $(document).ready( function () {

    //Function A
    $('a#create').click( function() {

    });

    // Function B, event delegation
    $('body').on('click', 'a.view', function() {
      alert();
    });
  });
</script>
于 2013-09-05T20:51:24.840 回答