.error()| jqueryAPI 2.2 中文手册- AspRain.cn 致力于Web开发技术翻译整理

jQuery API 2.2.0

.error()

分类:事件 > 浏览器事件 | 建议弃用 > 建议弃用于1.8

返回: jQuery
弃用于:1.8

.error( handler )

描述:把一个事件处理函数绑定到JavaScript事件“error”上。

加入于: 1.0
.error( handler )
  • handler
    类型:FunctionEvent eventObject )
    一个函数,在触发事件时执行它。
加入于: 1.4.3
.error( [eventData ], handler )
  • eventData
    类型:Anything
    一个对象,它包含了要传递给事件处理函数的数据。
  • handler
    类型:FunctionEvent eventObject )
    一个函数,在每次事件被触发时执行它。

该方法是.on( "error", handler )的简写。

自从jQuery 1.8,.error()方法被弃用了。请使用.on( "error", handler )来把事件处理函数附加到error事件上来代替。

被发送到元素上,比如说图像上的该error事件,是由document引起,由浏览器载入的。如果元素没有正确地加载就会调用它。

举个例子,设想网页上有一个图像元素:

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

该事件处理函数被绑定到图像上:

$( "#book" )
  .error(function() {
    alert( "Handler for .error() called." )
  })
  .attr( "src", "missing.png" );

如果图像元素不能载入(比如说,因为它不在提供的URL上),则会跳出提醒:

Handler for .error() called.

必须在浏览器引发error事件前附加事件处理函数,这就是为什么事件在附加该处理函数之后才设置元素属性src。而且,当网页是本地提供的时候,error事件可能不能正确地引发;error依赖于HTTP状态,而且如果URL使用file:协议,一般不会触发该事件。

注意:一个jQueryerror事件处理函数不能附加到window对象上。在发生一个脚本错误时,浏览器会引发windowerror事件。然而,windows的error事件接受到一个不同的参数,而且具有与常见的事件处理函数不同的返回值。请使用window.onerror来代替。

其它说明

  • 因为.error()方法是.on( "error", handler )的简写,所以可以使用.off( "error" )来分离。

示例

要想把所有的缺失的图像替换成另一个,你可以在传给.error的回调函数内部更新元素属性src。确保替代的像是存在的;否则会没完没了地触发error事件。

// 如果该missing.png已经缺失了,会用replacement.png代替它。
$( "img" )
  .error(function() {
    $( this ).attr( "src", "replacement.png" );
  })
  .attr( "src", "missing.png" );

如果网页上不能运行示例,请点击http://www.asprain.cn/jQueryAPI/error.htm查看示例。

如果你觉得本文档对你有用,欢迎给翻译作者支付宝打赏,支持翻译作者源源不断翻译更多有用的技术文档。