我是 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 正在调用 anchor 链接,但是函数 A 正确地为函数 B 的工作创造了这些条件。在正常的文档加载中,这不是问题。然而,在调用函数 A 之后,函数 B THEN 中断,除非我在函数 A 中包含函数 B。
我是否应该考虑创建一个调用所有其他函数来“刷新”它们的函数?我什至不确定问题是什么。我偶然发现了这个“修复”。
最佳答案
我不确定我是否理解你想做什么,但我认为你正在寻找的是:
<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>
关于javascript - 在 Javascript/JQuery 中添加项目的新手,无法弄清楚 document.ready() 或 on(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18645642/