我对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之后,除非我在函数A中包含函数B,否则函数B THEN会中断。
我是否应该考虑创建一个调用所有其他函数来“刷新”它们的函数?我甚至不确定问题是什么。我偶然发现了这个“修复”。
答案 0 :(得分:2)
我不确定我是否理解你想做什么,但我认为你在寻找的是:
<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>