jQuery是为事件冲突特别设计的
jQuery事件函数
jQuery事件出来方法是jQuery中的核心函数。
事件处理程序指的是当HTML中发生某些事件时所调用的方法。
通常会把jQuery代码放到<head>部分的事件处理方法中:
实例
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
</script>
</head>
<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>Click me</button>
</body>
</html>
在上面的例子中,当按钮的点击时间被触发时会调用一个函数:
$("button").click(function() {..some code... } )
该方法隐藏所有<p>元素:
$("p").hide();
单独文件中的函数
如果你的网站包含许多页面,并且你希望你的jQuery函数易于维护,那么请把jQuery函数放到独立的.js文件中。
当我们在教程中演示 jQuery 时,会将函数直接添加到 <head> 部分中。不过,把它们放到一个单独的文件中会更好,就像这样(通过 src 属性来引用文件):
实例
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="my_jquery_functions.js"></script>
</head>
jQuery名称冲突
jQuery使用$符号作为jQuery的简介方式。
某些其他JavaScript库中的函数同样使用$符号。
jQuery使用名为noConflict()的方法来解决问题。
实例
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var qq = $.noConflict();
var qq = jQuery.noConflict();//等价↑
qq(document).ready(function(){
qq("button").click(function(){
qq("p").text("jQuery 仍在运行!");
});
});
</script>
</head>
<body>
<p>这是一个段落。</p>
<button>测试 jQuery</button>
</body>
</html>
结论
由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:
❤把所有的jQuery代码置于事件处理函数中
❤把所有事件处理函数置于文档就绪事件处理器中
❤把jQuery代码置于单独的.js文件中
❤如果存在名称冲突,则重命名jQuery库
Event 函数 | 绑定函数至 |
---|---|
$(document).ready(function) | 将函数绑定到文档的就绪事件(当文档完成加载时) |
$(selector).click(function) | 触发或将函数绑定到被选元素的点击事件 |
$(selector).dblclick(function) | 触发或将函数绑定到被选元素的双击事件 |
$(selector).focus(function) | 触发或将函数绑定到被选元素的获得焦点事件 |
$(selector).mouseover(function) | 触发或将函数绑定到被选元素的鼠标悬停事件 |