我正在使用PopBox来放大我页面上的缩略图。但我希望我的网站即使对于关闭 javascript 的用户也能正常工作。
我尝试使用以下 HTML 代码:
现在我需要使用 javascript 禁用 a-Tag,否则我的 PopBox 将无法工作。
我怎么做?
只需将 onclick 放在 a-tag 上:
确保false在函数末尾返回(此处Pop)或像上例中那样内联。这可以防止用户被 的默认行为重定向到链接。
将 onclick 事件放在链接本身上,如果您不想执行默认行为(要遵循的链接),则从处理程序返回 false
你可以给你所有的后备锚标签一个特定的类名,比如“简单”
使用prototype,您可以使用 CSS 选择器获取使用该类的所有标签的数组,例如
var anchors=$$('a.simple')
现在您可以遍历该数组并清除 href 属性,或者安装一个 onclick 处理程序来覆盖正常行为,等等......
(编辑添加上面列出的其他方法要简单得多,这只是来自做大量不显眼的 javascript 的背景,你的 JS 开始并使用额外的东西来扩充一个功能正常的 HTML 页面!)
href锚点(标签)不需要该属性,所以摆脱它......
此方法将避免onclick.
在 IE6/FF3/Chrome 中测试。附带好处:您可以直接链接到包含该缩略图的页面部分,使用 id 作为 URI 片段:。http://whatever/gallery.html#apic001
为了获得最大的浏览器兼容性,请name="apic001"向标记中的锚标记添加一个属性('name' 和 'id' 值必须相同)。
使用 jQuery、dojo、Prototype 等,您应该能够在不需要 id 的情况下对多个类似的锚点执行 removeAttribute。
您应该能够将 Chris 的想法中的 return false 与您自己的代码混合搭配:
如果某人禁用了 Javascript,那么他们的浏览器将忽略两个元素中的 onclick 语句并访问链接;如果他们启用了 Javascript,那么他们的浏览器会遵循两个 OnClick 语句——第一个告诉他们不要访问该链接。^_^
这似乎是最好的解决方案(比我发现的更好)。然而,这对我来说不是很好,因为这个 PopBox 东西试图重写 onclick 事件处理程序,所以当你再次单击它时它会再次关闭。需要调查这个...
谨慎行事 - 这在 IE6 中非常慢。