返回值:jQueryerror(handler(eventObject))
为 JavaScript 的 "error" 事件绑定一个处理函数。
-
1.0 新增error(handler(eventObject))
handler(eventObject) (Function) 当事件被触发时,执行的函数。 -
1.4.3 新增error([eventData], handler(eventObject))
eventData (Object) 可选参数,将要传递给事件处理函数的数据映射。handler(eventObject) (Function) 每当事件触发时执行的函数。
该方法是 .bind('error', handler)
的快捷方式。
以图像元素为例,图像元素被文档引用,并且由浏览器浏览器加载。如果元素加载不正确,该方法就会被调用。
例如,页面上有一个图像元素:
<img alt="Book" id="book" />
可以像下面这样为其绑定该事件:
$('#book') .error(function() { alert('Handler for .error() called.') }) .attr("src", "missing.png");
如果图像不能被加载(例如,可能是由于指定的 URL 不存在),则会弹出如下警告框:
Handler for .error() called.
必须在浏览器触发该事件之前,绑定该事件。这就是为什么上例中,设置图片的 src 属性操作要放到绑定事件之后。同时,如果页面存放在本地,那么该事件可能无法被正确的触发,因为
error
依赖 HTTP 返回的状态码。一般情况下,如果 URL 使用的是file:
协议,那么该事件也不会被触发。
注意: jQuery error 事件不应该绑定到 window 对象上。当脚本出错时,浏览器会触发 window 的 error 事件。然而,window 的 error 事件接收的参数和返回值与传统的事件不一样。若要绑定 window 的
error 事件,请使用 window.onerror
来代替。
示例:
为 IE 用户隐藏 "无效的图片" 图标,并使用自定义图片来代替。
jQuery 代码:
$("img")
.error(function(){
$(this).hide();
})
.attr("src", "missing.png");