xyz*_*xyz 9 html javascript jquery
我是jQuery的新手,我遇到了一个奇怪的问题.我正在使用jQuery change和click方法.它们在<script>标签中的HTML文件中使用时工作正常.
喜欢:
<script>
$("select,input").change(function ()
{
// My code and some alerts
});
</script>
Run Code Online (Sandbox Code Playgroud)
当我在外部JavaScript代码中复制相同内容<script>并且在我的HTML中导入它时,它根本不起作用.
在外部JavaScript代码中使用jQuery是否需要进行任何更改?
PS:从HTML中成功调用存在于相同外部JavaScript代码中的一些其他非jQuery函数.
Joh*_*een 14
首先,您不希望外部JavaScript文件中包含<script>标记,如果我正在阅读您的帖子.
jQuery的技巧是你的代码被设置为立即执行.
您希望包装脚本以便在文档准备好时加载它,例如:
$(document).ready(function(){
$("select,input").change(function ()
{
// My code and some alerts
})
});
Run Code Online (Sandbox Code Playgroud)
并且您希望确保在jQuery之后加载您的文件(否则将不会设置$ global).
加法:
这是你的HTML应该是这样的:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="jscript/myExternalJs.js"></script>
Run Code Online (Sandbox Code Playgroud)
这是您的JavaScript代码应该是什么样子(注意JavaScript文件中没有脚本标记):
$(document).ready(function(){
$("select,input").change(function ()
{
// My code and some alerts
})
// Other event handlers.
});
Run Code Online (Sandbox Code Playgroud)
至于你的其他剧本......这取决于你在做什么.最重要的是不要尝试将事件侦听器挂钩到尚不存在的对象,这就是我们使用的原因document.ready.
| 归档时间: |
|
| 查看次数: |
29511 次 |
| 最近记录: |