如果禁用了JavaScript,请单击重定向,否则请选中子单选按钮
我在链接中有一个如果禁用了JavaScript,请单击重定向,否则请选中子单选按钮,javascript,jquery,html,Javascript,Jquery,Html,我在链接中有一个单选按钮: <label class="dd--option"> <a href="someURL" class="dd--noscript--link"> <input name="dd_radio" type="radio" class="dd--radio dd--radio--js" checked /> <span class="dd--label"> <
单选按钮
:
<label class="dd--option">
<a href="someURL" class="dd--noscript--link">
<input name="dd_radio" type="radio" class="dd--radio dd--radio--js" checked />
<span class="dd--label">
<img class="dd--label--image" src="http://90.0.0.91/show.php/swatch/23080/black"/>
<span class="dd--label--text">Black</span>
</span>
</a>
</label>
我希望实现以下目标:
- 如果浏览器上禁用了JavaScript,我想重定向到
锚定标记的href
属性中给出的链接
- 如果启用了JavaScript,它不应该重定向到任何地方。它应该只检查
单选按钮
按钮
我能做到吗?如果是,如何进行 无法100%确定单击
是否会在每个浏览器中自动将事件冒泡到父级
,但如果是这样,则应该这样做:
$('.dd--noscript--link').on('click', function(e) {
e.preventDefault();
});
正如@Barmar在评论中提到的,禁用JS时,href=“#”
不会导致浏览器加载新页面。在单选按钮上添加Javascript事件处理程序,并使用事件.stopPropagation()
如果启用了Javascript,将执行此函数,stopPropagation()
将防止单击冒泡到锚定,因此它不会跟随链接
如果禁用了Javascript,则不会执行此代码,因此单击将冒泡到锚定,链接将随之出现。因此,向锚定添加href并使用Javascript取消单击。只需编写一个脚本,在启用JS时执行您希望执行的操作。如果JS被禁用,它将被忽略,单击锚点将跟随链接。@Barmar我将#作为占位符放在这里。如果使用类似占位符的东西,问题会更清楚--
通常用于不应该去任何地方的链接。类似于href=“someURL”
的功能可以使用,但是如果您有任何其他可单击的元素使用
(
,
,
,等等),您可能也希望从这些元素中选择stopPropogation()
。@jmorganmartin这些元素没有任何默认的单击操作,因此,只有在向其添加了单击处理程序时才有必要这样做。你的答案可能更好,因为它独立于内部内容。他添加了一条评论,说href=“#”
只是问题中的占位符,真正的代码将在那里有一个URL。我编辑了这个问题以反映这一点。
$(".dd--radio--js").click(function(e) {
e.stopPropagation();
});