使用jQuery在iPad上更改img src属性

时间:2013-09-04 08:18:22

标签: jquery html ipad safari

我有一个更改img src的脚本,它在除iPad上的Safari之外的每个浏览器上都运行良好。这是:

$("#carousel a").click(function() {
  var itemId = $(this).attr("itemid");
  $("#collection-photo img").attr("src", "path_"+itemId);
});

这是HTML代码:

<div id="collection-photo">
  <img src="path_0" alt=""/>
</div>
<ul id="carousel">
  <li><a href="#" itemid="1"><img src="some_img_1" alt=""/></a></li>
  <li><a href="#" itemid="2"><img src="some_img_2" alt=""/></a></li>
  <li><a href="#" itemid="3"><img src="some_img_3" alt=""/></a></li>
  ...
</ul>

所有的方案都是正确的,因为它可以在每个浏览器中运行,正如我之前所说的那样。我使用jQuery 1.9.1。

谢谢。

对不起那个问题,伙计们。问题在于糟糕的俄语CMS,我解决了它,谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

尝试这一点 - 阻止链接执行总是一件好事,特别是在涉及图像时。单击#将重新加载某些浏览器,除非我们返回false / preventDefault

$("#carousel a").click(function(e) {
  e.preventDefault(); // cancel the click
  var itemId = $(this).attr("itemid");
  $("#collection-photo img").attr("src", "path_"+itemId);
});

答案 1 :(得分:1)

  1. 检查iOS image size restrictions
  2. 尝试调试,添加alert(itemId)以检查属性是否正确读取并单击实际处理。请改为使用data-属性。
  3. 如前所述
  4. return falsepreventDefault