我在外部文件中编写了一些jQuery代码,目标是匹配包含脚本的页面中的每个<select>
标记。
我的目标是将脚本引用包含在目标页面的<head>
标记中,并“运行”jQuery代码,而无需调用任何函数。
我已经看到了几个带有外部jQuery代码的例子,但都调用了一个执行(外部)代码的函数。
如果我使用“普通”javascript,就像简单的警报一样,它们会毫无问题地执行。当我尝试使用我的jQuery代码时,没有任何反应。
这是我的外部jQuery文件:
$(function() {
$("select").focus(function() {
alert('selected...');
}).change(function() {
alert('changed...');
})
});
即使我在开始时没有使用$(function(
),我也会在第一次出现$
时获得异常“对象预期”,同时甚至将$(function()
留在括号内它起作用的简单警报。
应该如何开发外部文件?
我在测试页面中内联测试了外部脚本,它运行正常。
答案 0 :(得分:0)
代码的编写方式没有区别,无论是在HTML页面中内嵌,还是通过<script src='...'>
包含。
然后问题是,在执行代码时尚未包含jQuery。看看你包含文件的顺序,并确保jQuery出现在依赖它的代码之前。
答案 1 :(得分:0)
您可能在加载jQuery之前执行jQuery代码。在这种情况下,对docready($(function(){})的调用将失败,因为$!== jQuery。通常要做到这样的事情,我会把一些代码放在我文件的底部,类似于:
$(function(){
var t = "external_file.js",
s = document.createElement("script"),
h = document.getElementsByTagName("head");
s.src = t;
s.type = "text/javascript"
h.appendChild( s );
})
答案 2 :(得分:-1)
试试这个:
$(document).ready(function() {
$("select").focus(function() {
alert('selected...');
}).change(function() {
alert('changed...');
})
});