javascript - 如果找不到背景图像,如何显示替代图像

标签 javascript css knockout.js

这是 fiddle - http://jsfiddle.net/gfWES/59/

当 background-image 指向找不到图像的位置时,我想显示位于以下位置的备用图像- http://fancyapps.com/fancybox/demo/1_b.jpg

最终,我必须在 knockout 中实现上述目标。

<td class="cell">
<div class="contact-photo" data-bind="click: $parent.onAlertClick, style: { backgroundImage:     $parent.photoUrl($data) }, css: { 'has-notifications': $parent.showAlert($data)}, onerror:alert('error')"></div>
</td>

在上面的代码中 - 如果“$parent.photoUrl($data)”指向一个图像不存在的 url,我想将“backgroundImage:”指向其他位置以显示任何替代图像。

最佳答案

检查图像是否存在的唯一方法是请求它。 使用 jQuery 你会做一个 $.ajax({url:'somefile.png', type:'HEAD', error:image_does_not_exist}); 其中 image_does_not_exist 是一个回调函数。然后将 photoUrl 返回的值设置为默认值。

关于javascript - 如果找不到背景图像,如何显示替代图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27817366/

相关文章:

javascript - Selenium IDE - 如何创建与今天日期相关的 JavaScript 函数?

Javascript:如何确保 "this"在对象内始终相同?

javascript - 按季度计算总和

JavaScript时钟+CSS

javascript - 如何激活模式以在所有 3 个按钮上单击而不是只用一个按钮打开?

javascript - 无法通过 knockout 很好地切换 Bootstrap 下拉菜单

javascript - 每次在同一行内选中复选框时获取具有特定id的td文本

html - 宽度和高度不等且高度可变的左右圆的边界半径

javascript - knockoutjs 调用不断执行,我怎样才能只调用一次?

asp.net-mvc - Knockout 和 MVC3 : Posting JSON to action, 序列化两次?无法转换为 C# 对象?