JQuery 图像错误处理
JQuery image error handling
在我的网站上,我有一个JQuery自动完成。自动完成功能工作正常。我有来自查询的数据,以我想要的方式提取和存储。
这一切都可以在这里看到。(源代码可以查看,Enjin 让它变得丑陋,但它就在那里。
目前,返回列表的格式设置为显示图片(如果存在)和占位符(如果不存在)。
return $("<li>").append("<a>" +
'<img class="imgThumb" onError="this.src=''http://files.enjin.com/450575/file_storage/scripts/crScripts/images/placeholder.jpg'';" src="http://census.daybreakgames.com/files/dcuo/images/character/paperdoll/' + item.desc.character_id + '" style="float:left; margin-right: 6px; max-height: 50px;width: auto;">' + '<span style="display:table-cell; vertical-align:middle; height:50px;">' + item.value + "<br>CR: " + item.desc.combat_rating + " " + item.desc.world.name + '</span>' + "</a>").appendTo(ul);
}
页面中心的空白点是我想放大返回列表中的图像的区域。但是,我似乎在这里遇到了障碍。加载时此点的 HTML 为:
<img id="crCharImage" src="" class="ui-state-default" alt="" />
作为自动完成的 JQuery 代码中的选择函数的一部分,我有:
$("#crCharImage").error(function() {$("#crCharImage").attr( "src", "http://files.enjin.com/450575/file_storage/scripts/crScripts/images/placeholder_large.png");}).attr("src", "http://census.daybreakgames.com/files/dcuo/images/character/paperdoll/" + ui.item.desc.character_id);
在存在图像的字符上,代码可以完美运行。图像显示,世界上一切都正确。(可以通过在"查找字符:"输入中键入 trex 来查看。在没有图像的字符上,它不是通过 onerror 函数,而是显示一个损坏的图像而不是我的占位符(如在输入框中键入 farm 所示)。请注意下拉列表中显示的徽标...这是占位符的较小版本。
我是否错误地使用了 .error?还是有另一种方法可以覆盖此问题?
编辑:根据响应,我回顾并查看了追加函数以及jQuery的内置函数。我找到了.html,并能够利用它来做我想做的事情。我不知道为什么我最初不能让它工作,但感谢那些建议再次查看它的人。
我认为您应该在onError句柄函数中使用转义字符,只需删除onError句柄函数中的"''",像这样更改第一个代码块:
return $("<li>").append("<a>" +
'<img class="imgThumb" onerror="this.src='http://files.enjin.com/450575/file_storage/scripts/crScripts/images/placeholder.jpg';" src="http://census.daybreakgames.com/files/dcuo/images/character/paperdoll/' + item.desc.character_id + '" style="float:left; margin-right: 6px; max-height: 50px;width: auto;">' + '<span style="display:table-cell; vertical-align:middle; height:50px;">' + item.value + "<br>CR: " + item.desc.combat_rating + " " + item.desc.world.name + '</span>' + "</a>").appendTo(ul);
}
希望这能有所帮助
顺便说一句,虽然"onError"有效,但我认为正确的关键字是错误回^_^调的"onerror"
相关文章:
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- RxJS:在循环中处理错误.js自定义驱动程序
- 通过 AJAX 检索 Blob 时处理错误消息
- Chai正如承诺:当承诺抛出错误时,处理错误
- 如何处理错误'控制台未定义'在powershell中
- Bloodhound的新Typeahead是如何处理错误的
- 请求管道处理错误
- Angular Jasmine SpyOn$resource处理错误
- 如何或如何使用firebase有效地处理错误
- 以处理错误的方式启动javascript承诺蓝鸟链
- JavaScript Regex over CSS:如何处理错误的类
- 模态中的 Django 形式:动态重定向和处理错误
- 在 Angular 中使用拦截器处理错误的通用方法
- Angular JSON-RPC:处理错误
- AngularJS - 处理错误错误:[ng:areq] 在此特殊情况下 (?)
- 绕过 javascript 的 chrome 和 FF 后台选项卡处理错误
- 如何使用 Q 和 JS 捕获或失败来处理错误
- 使用 window.onerror 和 try-catch 块处理错误之间的差异
- jQuery $.get 在处理错误时返回白色错误页
- 处理错误后提交索引数据库事务