所以我有这个...
$(this).attr("href", "http://site.com/images/downloads/wp-" + $(this).parent().parent().attr("id") + "-1024x768.jpg");
问题是当我右键单击 > 将链接另存为...时,它没有链接到正确的图像。我不确定是否可以这样做,但如果有人可以帮助我,我将不胜感激。谢谢!
所以我有这个...
$(this).attr("href", "http://site.com/images/downloads/wp-" + $(this).parent().parent().attr("id") + "-1024x768.jpg");
问题是当我右键单击 > 将链接另存为...时,它没有链接到正确的图像。我不确定是否可以这样做,但如果有人可以帮助我,我将不胜感激。谢谢!
使用 Firebug 或 DOM Inspector 之类的诊断工具来检查属性的实际最终值。
对于不同的点击和保存行为,最简单的解释是事件是否被拦截。“另存为”使用实际的 href 值,而选择链接可能会被截获(键盘、鼠标向下和向上、单击)以将位置设置为其他内容。
您可能正在设置它,$(document).ready()
但您使用的事实表明您$(this)
的代码绑定onclick
到<a>
. 这可以解释为什么将鼠标悬停在链接上不会显示更改的 href,在访问者单击链接之前该值不会更改。
你能应该你的相关部分$(document).ready()
来证实我的怀疑吗?
如果我是正确的,那么解决方案应该是更改 href 作为您ready()
处理的一部分,而不是当时绑定到 onclick 事件。
这是一个想法...将“真实”位置放在php生成的html中
然后添加一个带有“假”位置的额外属性,然后使用 jquery 在页面加载时切换它们。这可以根据情况工作(即,如果用户禁用了 js 并且它使用“真实”位置,它不会破坏一切)
这将解决您的问题,并使几乎所有用户的最终结果都相同:)