JS从window.onclick事件监听器

时间:2017-06-07 08:50:38

标签: javascript html

如果用户点击文档的任何位置,我有一个文档,其中有一个常规事件监听器,为此我使用了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语句需要改变什么?

0 个答案:

没有答案