微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery测试DOM元素是否支持“加载”事件

如何解决jQuery测试DOM元素是否支持“加载”事件

| 是否可以检查jQuery对象是否支持触发特定事件的事件处理程序?我有一个使用DOM元素的函数,我想使用以下命令监听\“ load \”淡入元素:
element.css({ opacity: 0.0 });
element.bind(\'load\',function() { $(this).animate({ opacity: 1.0 }); });
不幸的是,如果传入的元素不是图像,则此操作将失败(因为它将始终是透明的)。谢谢!     

解决方法

        jQuery可以将
\'load\'
事件绑定到任何DOM元素(
<==
永远不会失败)。但是,该事件不会在任何DOM元素上触发(它在
window
document
,脚本,样式表,图像,iframe等处触发)。 如果“ 1”事件没有在给定元素(例如DIV)上触发,则将负载处理程序绑定到该元素没有任何意义。     ,        由于我的评论似乎是可以接受的路线,因此这里的答案较为完整: 由于似乎您的函数仅在传递的元素是图像时才起作用,因此只需测试一下,以了解传入的元素是否为图像:
function conditional(element) {
    if(element.tagName == \"IMG\") {
        element.css({ opacity: 0.0 }).bind(\'load\',function() { $(this).animate({opacity: 1.0 }); });
    }
}
http://jsfiddle.net/cHsMx/2/     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。