Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果禁用了JavaScript,请单击重定向,否则请选中子单选按钮_Javascript_Jquery_Html - Fatal编程技术网

如果禁用了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();
});