jQuery 是为事件处理特别设计的。
jQuery 事件函数jQuery 事件处理方法是 jQuery 中的核心函数。 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。 通常会把 jQuery 代码放到 <head>部分的事件处理方法中: 实例
[HTML] 纯文本查看 复制代码 <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 属性来引用文件): 实例
[JavaScript] 纯文本查看 复制代码 <head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="my_jquery_functions.js"></script>
</head>
jQuery 名称冲突jQuery 使用 $ 符号作为 jQuery 的简介方式。 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。 jQuery 使用名为 noConflict() 的方法来解决该问题。 var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。
结论由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:
- 把所有 jQuery 代码置于事件处理函数中
- 把所有事件处理函数置于文档就绪事件处理器中
- 把 jQuery 代码置于单独的 .js 文件中
- 如果存在名称冲突,则重命名 jQuery 库
jQuery 事件方法事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件。 触发实例: $("button#demo").click()上面的例子将触发 id="demo" 的 button 元素的 click 事件。 绑定实例: $("button#demo").click(function(){$("img").hide()})上面的例子会在点击 id="demo" 的按钮时隐藏所有图像。
方法 | 描述 | bind() | 向匹配元素附加一个或更多事件处理器 | blur() | 触发、或将函数绑定到指定元素的 blur 事件 | change() | 触发、或将函数绑定到指定元素的 change 事件 | click() | 触发、或将函数绑定到指定元素的 click 事件 | dblclick() | 触发、或将函数绑定到指定元素的 double click 事件 | delegate() | 向匹配元素的当前或未来的子元素附加一个或多个事件处理器 | die() | 移除所有通过 live() 函数添加的事件处理程序。 | error() | 触发、或将函数绑定到指定元素的 error 事件 | event.isDefaultPrevented() | 返回 event 对象上是否调用了 event.preventDefault()。 | event.pageX | 相对于文档左边缘的鼠标位置。 | event.pageY | 相对于文档上边缘的鼠标位置。 | event.preventDefault() | 阻止事件的默认动作。 | event.result | 相对于文档上边缘的鼠标位置。 | event.target | 触发事件的 DOM 元素。 | event.timeStamp | 该属性返回从 1970 年 1 月 1 日到事件发生时的毫秒数。 | event.type | 描述事件的类型。 | event.which | 指示按了哪个键或按钮。 | focus() | 触发、或将函数绑定到指定元素的 focus 事件 | keydown() | 触发、或将函数绑定到指定元素的 key down 事件 | keypress() | 触发、或将函数绑定到指定元素的 key press 事件 | keyup() | 触发、或将函数绑定到指定元素的 key up 事件 | live() | 触发、或将函数绑定到指定元素的 load 事件 | load() | 触发、或将函数绑定到指定元素的 load 事件 | mousedown() | 触发、或将函数绑定到指定元素的 mouse down 事件 | mouseenter() | 触发、或将函数绑定到指定元素的 mouse enter 事件 | mouseleave() | 触发、或将函数绑定到指定元素的 mouse leave 事件 | mousemove() | 触发、或将函数绑定到指定元素的 mouse move 事件 | mouseout() | 触发、或将函数绑定到指定元素的 mouse out 事件 | mouseover() | 触发、或将函数绑定到指定元素的 mouse over 事件 | mouseup() | 触发、或将函数绑定到指定元素的 mouse up 事件 | ready() | 文档就绪事件(当 HTML 文档就绪可用时) | resize() | 触发、或将函数绑定到指定元素的 resize 事件 | scroll() | 触发、或将函数绑定到指定元素的 scroll 事件 | select() | 触发、或将函数绑定到指定元素的 select 事件 | submit() | 触发、或将函数绑定到指定元素的 submit 事件 | unload() | 触发、或将函数绑定到指定元素的 unload 事件 |
jQuery 事件处理方法事件处理方法把事件处理器绑定至匹配元素。 方法 | 触发 | $(selector).one(event) | 向匹配元素添加一个事件处理器。该处理器只能触发一次。 | $(selector).unbind(event) | 从匹配元素移除一个被添加的事件处理器 | $(selector).undelegate(event) | 从匹配元素移除一个被添加的事件处理器,现在或将来 | $(selector).trigger(event) | 所有匹配元素的指定事件 | $(selector).triggerHandler(event) | 第一个被匹配元素的指定事件 |
|