假设我有一个链接到两个脚本的 HTML:
...
<script type="text/javascript" src="general.js"></script>
<script type="text/javascript" src="[pagename]_specific.js"></script>
...
这两个脚本中的每一个都定义了自己的 jQuery .ready()
。
一般.js:
jQuery(function() {
var foo;
$('#btn').click(function() {alert(foo())});
}
home_specific.js: “[pagename]_specific.js”的示例
jQuery(function() {
foo = function() {alert("hello")};
}
哪里#btn
是一个按钮元素。
“general.js”是由多个页面共享的脚本,而每个页面都有其专用的“[pagename]_specific.js”,用于定义分配给的函数的foo
行为方式。
当我点击时,#btn
我期待看到“hello”对话框,但相反,我进入Uncaught TypeError: undefined is not a function
了 chrome 开发人员工具。从这个 SO question,我明白这是因为两者.ready()
有两个独立的事件处理程序。
问题:有什么方法可以将.ready()
in "[pagename]_specific.js" 附加到.ready()
in "general.js" 的事件处理程序中,而不是定义另一个匿名函数?