重定向单击如果禁用JavaScript,否则请检查子单选按钮

时间:2017-10-16 20:58:58

标签: javascript jquery html

我在链接中有radio button

<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的{​​{1}} attribute中提供的链接。
  • 如果启用了JavaScript,则不应在任何位置重定向。它应该只检查anchor tag radio

我可以实现吗?如果是,怎么样?

2 个答案:

答案 0 :(得分:1)

不是100%确定点击<input>是否会在每个浏览器中自动将事件冒充到父<a>,但如果是,则应该这样做:

$('.dd--noscript--link').on('click', function(e) {
    e.preventDefault();
});

正如@Barmar在评论中提到的,在禁用JS的情况下,href="#"不会导致浏览器加载新页面。

答案 1 :(得分:1)

在单选按钮上添加Javascript事件处理程序,并使用event.stopPropagation()

$(".dd--radio--js").click(function(e) {
    e.stopPropagation();
});

如果启用了Javascript,则会执行此功能,stopPropagation()将阻止点击冒泡到锚点,因此它不会跟随链接。

如果禁用了Javascript,则不会执行此代码,因此点击会冒泡到锚点,并会跟踪链接。