Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.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
Css onclick可以对单选按钮重新设置样式,但onmousedown不能_Css - Fatal编程技术网

Css onclick可以对单选按钮重新设置样式,但onmousedown不能

Css onclick可以对单选按钮重新设置样式,但onmousedown不能,css,Css,我有一组单选按钮,当使用onclick时,一切都可以正常工作,但是当onclick被onmousedown或ontouchstart替换时,在开发人员模式下测试,checked+label可以正常工作,但是HTML中请求的警报不能正常工作。我想用ontouchstart取代onclick的原因是为了提高IOS中混合应用程序的性能。 任何关于我的问题的线索。。。我已经设法在5个月内从零编码到创建一个相当复杂的物理应用程序,而没有在任何地方发布一个问题,我对此感到非常尴尬! 以下是HTML: <

我有一组单选按钮,当使用onclick时,一切都可以正常工作,但是当onclick被onmousedown或ontouchstart替换时,在开发人员模式下测试,checked+label可以正常工作,但是HTML中请求的警报不能正常工作。我想用ontouchstart取代onclick的原因是为了提高IOS中混合应用程序的性能。 任何关于我的问题的线索。。。我已经设法在5个月内从零编码到创建一个相当复杂的物理应用程序,而没有在任何地方发布一个问题,我对此感到非常尴尬! 以下是HTML:

<div class="switch-field1">
                        <input type="radio" id="sine1" name="switch_3"  onclick = "alert('This works fine')" checked/>
                        <label for="sine1"> SINE  </label><br>
                        <input type="radio" id="square1" name="switch_3"  onmousedown = "alert('If I see this, problem solved')"/>
                        <label for="square1"> SQUARE </label><br>
                        <input type="radio" id="triangle1" name="switch_3"  onclick = "alert('This works fine')"/>
                        <label for="triangle1"> TRIANGLE </label>
                  </div>
onmousedown事件可以工作,但只在单选按钮上工作,而不在标签上

您应该将事件侦听器附加到标签本身,如:

方格

更新:

ontouchstart with函数调用对我很有效,但你需要在支持触摸的“设备”上使用它,我使用了dev tools ctrl+shift+j下的chrome设备工具栏,左上角的移动图标

我使用了这个函数:

function whichbuttonID(){

  // need js to select the option
  document.getElementById("squarel").checked = true;
  alert('Ok');
}

嗨,塔玛斯…谢谢你花时间回答,它工作得很好,第一次按下按钮就会出现警报!。。。我非常感激。但是…总是有一个但是…,当我用调用函数SQUARE来替换警报时,ontouchstart在第一次被触摸时不工作,但在第二次触摸时工作,毫无例外。你知道为什么会这样吗。我搜索了一个答案,但运气不佳。如果您觉得某个答案解决了问题,请单击绿色复选标记将其标记为“已接受”。这有助于将注意力集中在仍然没有答案的老年人身上。
function whichbuttonID(){

  // need js to select the option
  document.getElementById("squarel").checked = true;
  alert('Ok');
}