我有两个文件 - prototype.js 和 jquery.js
在 prototype.js 中有:
function check(www) {
//....
}
jquery.js 中的有:
jQuery('#aaa').click(function() {
var bbb = $this.val();
//-----
check(www);
//--------
});
如何正确使用支票?
答案 0 :(得分:2)
如果真的声明如图所示,你可以按照你所示的方式调用它。它在一个文件中定义然后在另一个文件中使用并不重要;加载文件后,它们都存在于同一个执行环境中。但我不记得Prototype在全球范围内具有check
功能。
请注意,如果您在同一页面上使用Prototype和jQuery,则必须告诉jQuery不要使用$
符号:
jQuery.noConflict();
然后你可以随心所欲地使用Prototype和jQuery。例如:
<script src='prototype.js'></script>
<script src='jquery.js'></script>
<script>
jQuery.noConflict();
jQuery(function() {
// Get a jQuery instance containing elements with class "foo"
var foo = jQuery(".foo");
// Retrieve the first matching element, use Prototype's `$()` to extend it
// (automatic on some browsers, not on IE), then call Prototype's `update` function.
$(foo[0]).update("Hi there");
});
</script>
如您所见,如果您愿意,可以散布两者。我不是说这是一个好主意,但有时候这是必要的,特别是当你逐步将页面或网站从一个库转换到另一个库时。
如果您习惯使用$
符号编写jQuery代码,则仍可以根据需要对代码的整个部分执行此操作。这是一个相当常见的习语:
(function($) {
// Within this function, $ = jQuery
....
})(jQuery);
隐藏该函数中的$
符号(通过使其成为参数),并将jQuery
传递给该参数。或者你可以更明确:
(function() {
var $ = jQuery; // Within this function, $ = jQuery
....
})();
这有很多相同的事情,但更明显。