绑定事件的两种方式
方式一(在属性上绑定事件)
<div onclick=“ck('hello')” id=“div”></div>
<script>
function ck(str){
console.info(str);
}
</script>
注意:在属性上绑定事件,是方法的调用,因此需要加()表示调用此方法,如果需要传入参数则写入准确的参数。此方法可以传参数
方式二(动态绑定)
- 直接把方法名赋给属性。这种方式一般绑定不带参数的方法。如果给属性绑定带参数的方法,会默认传递事件对象。
<script>
var odiv = document.getElementById(“div”);
odiv.onclick = ck;//此处不能写成ck()
function ck(){
console.info("hello");
}
</script>
- 给属性定义匿名方法。这种方法不能传参数。
<script>
var odiv = document.getElementById(“div”);
odiv.onclick = function (){
console.info("hello");
}
</script>
以上两种方式如果一定要传参数只能这么干(目前我只想到了这种方式):
//定义一个传入参数的函数
function method(str){
console.info(str);
}
//在匿名函数里面调用method函数,并传入参数
odiv.onclick = function(){
method("hello");
};