benbenlin
2009-11-25 09:42 阅读 672

用Jquery如何绑定 onerror 事件

代码如下所示:

$(document).ready(function(){ $("#news_con img").bind("onerror",function(){ this.src="/images/errorpic.gif"; }); });

是想要在图片加载时把加载出错的图片显示为指定的图片。但是测试没有任何效果,如果把事件改成 click 后,相关图片点击后都会变成 errorpic.gif 这个图片,说明前面的对选择器选择了正确的元素,到网上找资料都是 click 之类的事件,

请问这样的 onerror 事件如何写?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    iteye_20589 iteye_20589 2009-11-25 09:47

    onerror的on去掉试试
    [code="java"]$("#news_con img").bind("error",function(){
    this.src="/images/errorpic.gif";
    }); [/code]

    点赞 评论 复制链接分享
  • CaiHuajiang CaiHuajiang 2009-11-25 09:46

    API没说支持这个事件,手动吧
    $("#news_con img").attr("onerror",'this.src="/images/errorpic.gif";');

    点赞 评论 复制链接分享
  • sevenduan sevenduan 2009-11-25 10:18

    onerror 是window对象的事件属性。
    documentElement没有这个属性。可以bind自定义事件。

    点赞 评论 复制链接分享
  • wanghaolovezlq wanghaolovezlq 2009-11-25 10:57

    你用jquery的bind方法都用错了,它是不用on的

    $(document).ready(function(){ $("#news_con img").bind("[color=red]error[/color]",function(){ this.src="/images/errorpic.gif"; }); });

    参考文档

    bind(type, [data], fn)
    概述
    为每一个匹配元素的特定事件(像click)绑定一个事件处理器函数。

    这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。多数情况下,可以把事件处理器函数定义为匿名函数(见示例一)。在不可能定义匿名函数的情况下,可以传递一个可选的数据对象作为第二个参数(而事件处理器函数则作为第三个参数),见示例二。

    参数
    typeString事件类型

    data (可选)Object作为event.data属性值传递给事件对象的额外数据对象

    fnFunction绑定到每个匹配元素的事件上面的处理函数

    示例
    描述:
    当每个段落被点击的时候,弹出其文本。

    jQuery 代码:
    $("p").bind("click", function(){
    alert( $(this).text() );
    });描述:
    你可以在事件处理之前传递一些附加的数据。

    jQuery 代码:
    function handler(event) {
    alert(event.data.foo);
    }
    $("p").bind("click", {foo: "bar"}, handler)描述:
    通过返回false来取消默认的行为并阻止事件起泡。

    jQuery 代码:
    $("form").bind("submit", function() { return false; })描述:
    通过使用 preventDefault() 方法只取消默认的行为。

    jQuery 代码:
    $("form").bind("submit", function(event){
    event.preventDefault();
    });描述:
    通过使用 stopPropagation() 方法只阻止一个事件起泡。

    jQuery 代码:
    $("form").bind("submit", function(event){
    event.stopPropagation();
    });

    点赞 评论 复制链接分享

相关推荐