如果用户点击文档的任何位置,我有一个文档,其中有一个常规事件监听器,为此我使用了window.onclick
。但是,在某些情况下,我想指定如果用户单击某些内容,则不应触发此事件侦听器。在我的情况下,如果用户点击了类circle
或类radio-label
的内容。圈子很好用:
window.onclick = function(event) {
if(!(event.target.className.baseVal=='circle')) {
...
除了圈子之外,如果用户点击我的一个单选按钮,我也希望不触发此功能:
<form>
<label class='radio-label'>Mode 1<input type='radio' value='Mode 1' id='rd1'></label>
</form>
我认为通过'radio-label'
类使用相同的方法可以起作用:
window.onclick = function(event) {
if(!(event.target.className.baseVal=='circle')&&!(event.target.className.baseVal=='radio-label') {
...
但没有运气。我不知道发生了什么事,我的单选按钮事件监听器没有工作。直到我评论出整个window.onclick
函数,然后才注意到事情正常。所以我把它缩小到了那个。
另外,我的单选按钮是在文档的开头创建的,所以我认为这不是异步元素的问题。
我的if语句需要改变什么?