2016-11-04 42 views
0

多个单选按钮这工作时,我点击我的呈白色空间(与.search形式为类我的整个形式的)Mousdedown在形式

<form name="form" method="POST" action="/api/search.php" class="search-form" id="search-form"> 
    <input type="radio" name="role" data-role="wanted_specialty" value="1" class="radio-btn"><span class="overlay"></span> 1</label> 
    <input type="radio" name="role" data-role="wanted_specialty" value="2" class="radio-btn"><span class="overlay"></span> 2</label> 
    <input type="radio" name="role" data-role="wanted_specialty" value="3" class="radio-btn"><span class="overlay"></span> 3</label> 
</form> 




var form = document.querySelector('.search-form'); 
    form.addEventListener('mousedown',function(e){ 
    // DO SOMETHING 
    }); 

但它不工作时除了“.search-form”之外,我使用完全相同的代码,然后由所有单选按钮的类改变。

我该如何做到这一点,因此,只要点击了任何单选按钮(或未点击),“DO SOMETHING”就能发挥作用。它应该是一个带有单选按钮的过滤系统,可以实时更新数据库中有多少结果。

+1

' - 阅读进度 - ()'只能在一个时间的单个元件上使用。您必须遍历结果并将事件侦听器添加到每个侦听器。 – Gavin

回答

0

Firefox浏览器不支持MouseDown。

https://developer.mozilla.org/fr/docs/Web/Events/mousedown

的addEventListener只能的元件上使用,而不是在一个元件组。

尝试是这样的:

var form = document.getElementById('search-form'); 
[].forEach.call(form.childNodes, function(item, iterator){ 
    item.addEventListener('mousedown', function(e){ 
    //DO Something 
    alert('click'); 
    }); 
}); 

https://jsbin.com/kusuyacoyo/edit?js,output

+0

它不识别我的点击(或mousedown事件)。它只是不会链接到我的API(这是在// Do Something),只要我现在点击。 –

+0

我犯了一个错误。我刚编辑我的代码 –

+0

仍然无法使用。问题是我的单选按钮是不是我的表单中的直接子元素? (在窗体和实际单选按钮之间有很多div和标签) –