.error()


html+div+css+天猫商城
html5+css3+京东手机网站
javascript+jquery+ajax
正则表达式+面向对象+js插件
2D+3D+触屏事件+Canvas+Svg
地理信息+本地存储+H5拖拽api
查看课程大纲

.error( handler(eventObject) )返回: jQuery过时版本: 1.8, 删除版本: 3.0

描述: 为 JavaScript 的 "error" 事件绑定一个处理函数。

  • 添加的版本: 1.0.error( handler(eventObject) )

    • handler(eventObject)
      类型: Function()
      每当事件触发时执行的函数。
  • 添加的版本: 1.4.3.error( [eventData ], handler(eventObject) )

    • eventData
      类型: Anything
      一个对象,它包含的数据键值对映射将被传递给事件处理程序。
    • handler(eventObject)
      Type: Function( Event eventObject )
      每当事件触发时执行的函数。

这个方法是 .bind('error', handler) 的快捷方式。

从jQuery 1.8 开始.error() 方法已被宣告过时。使用.on( "error", handler )来代替 将事件处理程序附加到error事件。

error事件被发送到元素,比如一张图片被引用,由浏览器加载。如果没有正确载入,这个事件就会被调用。

例子,考虑一个简单的图像页面:

1
<img alt="Book" id="book" />

事件处理器可以绑定到图像上:

1
2
3
4
5
$('#book')
.error(function() {
alert('Handler for .error() called.')
})
.attr("src", "missing.png");

如果图像无法加载(例如,因为目前所提供的URL不存在),警告显示:

Handler for .error() called.

这个事件处理程序必须在浏览器触发error事件之前绑定,这就是为什么示例绑定的处理函数后设置src属性。此外,当页面保存到本地的时候此事件可能无法正确触发。由于error依赖于正常的HTTP状态码,如果URL使用file:协议,它通常不会被触发。

注意:一个jQuery的 error 事件处理器不应该附加到 window 对象上。当一个脚本错误的时候,浏览器就会触发 windowerror 事件。无论如何, windowerror 事件接收不同的参数和返回值与传统的事件不一样。若要绑定 windowerror 事件,请使用window.onerror代替。

Additional Notes(其他注意事项):

  • .error()方法只是作为.on( "error", handler )的一个速记写法,移除该事件可以使用.off( "error" )

例子:

要使用其他图片替换所有丢失的图片,您可以使用一个内部更新src属性的回调函数,传递给.error()。注意要确保替换图像存在; 否则error 事件将无限期的触发。

1
2
3
4
5
6
// 如果 missing.png 丢失, 那么将被替换为 replacement.png
$( "img" )
.error(function() {
$( this ).attr( "src", "replacement.png" );
})
.attr( "src", "missing.png" );