2016-01-11 54 views
0

我有触发点击事件的问题。JS复选框触发/点击/ onclick不起作用

这是应该由“点击”被称为代码:

$('#enable_autosave').click(function() { 
     if ($(this).prop('checked')) { 
      document.getElementById("autosave_information").innerHTML = "Aktiviert"; 
      document.getElementById("warning_information_all").style = ""; 
      IntervalId = setInterval(function Save_Pointer(){Save();}, 10000); 
     } else { 
      clearInterval(IntervalId); 
      document.getElementById("autosave_information").innerHTML = "Deaktiviert"; 
      document.getElementById("warning_information_all").style = "visibility:hidden"; 
     } 
    }); 

的HTML代码:

<input type="checkbox" id="enable_autosave">Test</input> 

这是应该引起复选框代码”点击事件加载该页面后:

$('#enable_autosave').trigger('click'); 

复选框被选中,但点击事件未被触发。我也试过.click()或.onclick()或$('#enable_autosave')。attr('checked',true)[0] .onclick();

但他们都显示相同的结果,复选框被检查,但不是点击事件。

+0

它是否适合你的工作,当你手动点击复选框 – Devesh

+0

是的。 .. – GURKE

+0

我希望附加事件,然后触发的顺序是维护...你能分享js实际代码.. – Devesh

回答

0

如果你想复选框后警报,做这样的事情:

<input type="checkbox" id="enable_autosave" onchange = 'alert("HI")'>Test</input> 
+0

函数中的实际代码较长,但对此问题不感兴趣。警报应该显示,我没有发生任何事件。 – GURKE

+0

好吧,试试这个:$(“input:checkbox”)。bind(“change click”,function(){ // do something }); – KirLaide

+0

这也没有工作。和以前一样... – GURKE

1

这是为我工作(与事件监听):

<input type="checkbox" id="enable_autosave">Test</input>  
<script> 
     window.onload = function() { 
      'use strict'; 
      var foo = function() { 
       var test = document.getElementById("enable_autosave").checked; 

       if(!test){ 
        console.log("no"); 
       } 
       else{ 
        console.log("yes"); 
       } 

      } 
      foo(); 

      document.getElementById("enable_autosave").addEventListener('input', foo); 
      document.getElementById("enable_autosave").addEventListener('change', foo); 

     } 
    </script>