JS click 与 onclick 事件绑定,触发与解绑

click 与 onclick

1.onclick 事件会在对象被点击时发生。

<input id="btn1" type="button" onclick="test();" />

function test() {
    alert("我是行间事件");
}

当点击id="btn1"时,触发onclick事件

2.onclick事件会在click事件之前执行

<input id="btn2" type="button" onclick="test();" />

var btn2 = document.getElementById('btn2');
btn2.addEventListener('click', showMsg, false); //鼠标单击的时候调用showMes这个函数  
function showMsg() {
    alert("事件监听");
}

当点击id="btn2"时,先执行onclick事件的方法test(),再执行click事件的showMsg()方法;

js 绑定点击事件的方法

方法一:把onclick绑定在标签上

HTML元素行间事件(也可以叫HTMl事件处理程序),直接在html标签里添加事件。

缺点:html和js代码紧密耦合

<input id="btn1" type="button" onclick="test();" />

方法二:onclick的js绑定办法

//把一个函数赋值给一个事件处理程序属性。(这种方式也叫做Dom0级事件处理程序)
var btn1 = document.getElementById('btn1');
function abc() {
    alert('abc');
}
btn1.onclick = abc; //当点击的时候执行abc这个函数,等价于 btn1.onclick=function abc(){alert('abc');}
//btn1.onclick = null; //去掉绑定的事件

方法三:click的js绑定办法(js的话推荐这种)

//通过“事件监听”的方式来绑定事件(也叫Dom2级事件处理程序)
var btn2 = document.getElementById('btn2');
btn2.addEventListener('click', showMsg, false); //鼠标单击的时候调用showMes这个函数  
function showMsg() {
    alert("事件监听");
}
//btn2.removeEventListener('click', showMsg, false); //去除绑定

js 触发点击事件

除了手动点击外,js也可以触发点击事件

1. .onclick()

document.getElementById("btn2").onclick();

这种只会触发onclick事件

2. .click()

document.getElementById("btn2").click();

这种会先出发onclick事件,再触发click事件

js 解绑点击事件的方法

解绑onclick

btn1.onclick = null; //去掉绑定的事件

解绑click

btn2.removeEventListener('click', showMsg, false); //去除绑定