javascript - 使用纯 JavaScript 处理 "onclick"事件

标签 javascript html events event-handling dom-events

这真的很简单,但我对 JavaScript 还是很陌生,只是发现了 JSFiddle。我试图找到带有 getElementById() 的元素以禁用和启用按钮。我错过了什么?

<form name="frm" > 
  <div id="chkObj"> 
    <input type="checkbox" name="setChkBx" onclick="basicList.modifyAndEnableButton(this)"></input>        
</div>
<div id="Hello"> 
    <input type="button" name="btn" value="Hello"></input>        
  </div>
</form>

这是我用来添加复选框的列表,因为会有多个复选框:

 var basicList = {
    'items': {},
    'modifyAndEnableButton': function(obj1) {
        var element = document.getElementsByName("btn");
        if (obj1.checked == true && element.getAttribute('disabled') == false) {
            element.getAttribute('disabled') = true;
            this.addRecord(obj2);
        } else if (element.getAttribute('disabled') == true) {
            if (hasItems == false) {
                element.getAttribute('disabled') = false;
            }
        } 
    }
};

http://jsfiddle.net/Arandolph0/E9zvc/3/

最佳答案

所有浏览器都支持这个 ( see example here) :

mySelectedElement.onclick = function(e){
    //your handler here
}

但是,有时您想要添加一个处理程序(而不是更改同一个处理程序),更普遍的情况是在可用时您应该使用 addEventListener (需要 IE8- 的垫片)

mySelectedElement.addEventListener("click",function(e){
   //your handler here
},false);

这是一个工作示例:

var button = document.getElementById("myButton");
button.addEventListener("click",function(e){
    button.disabled = "true";
},false);

和 html:

<button id='myButton'>Hello</button>

(fiddle)

这里有一些有用的资源:

关于javascript - 使用纯 JavaScript 处理 "onclick"事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17633152/

相关文章:

html - 有问题的 CSS 动画(转换)列内的元素?

javascript - 将函数重写为异步

javascript - 如何在选择选项中表示权力?

javascript - 在图表 js 中只想要线条而不是它下面的区域

.net - WinForms事件生命周期

javascript - 弹出窗口打开事件后不起作用

c++ - 在 C++ 中将不同的类转换为 void* 并安全返回

javascript - backbone collection fetch 不会在成功调用中运行任何东西,但可以正常获取

html - 我想用HTML中的<embed>依次播放2个音频链接

javascript - 阿拉伯文脚本在 Google 的开发者工具模拟器上呈现不正确