javascript方法–bind()
语法
fun.bind(this,arg1,arg2,…)
1.bind()方法会创建一个新的函数,称为绑定函数,fun方法在this环境下调用
该方法可传入两个参数,第一个参数作为this,第二个及以后的参数则作为函数的参数调用
2.让函数拥有预设的参数
使用bind()方法使函数拥有预设的初始参数,这些参数会排在最前面,传给绑定函数的参数会跟在它们后面
用removeEventListener解除绑定事件时,传入的第二个参数的函数必须是已经写好了的,如果有参数可以使用bind把参数传递给一个变量,这个变量就成为了带参数的函数
<script type="text/javascript">
var mydiv = document.querySelector('.mydiv');
var btn1=document.querySelector('#btnAdd');
var btn2=document.querySelector('#btnRemove');
var desc=document.querySelector('.desc');
btn1.addEventListener('click',function(){
mydiv.addEventListener('mousemove',TMP1,false)
mydiv.addEventListener('mouseout',TMP2,false)
});
btn1.addEventListener('click',function(){
desc.innerHTML='事件绑定成功,请将鼠标移入或者移出div';
})
btn2.addEventListener('click',function(){
mydiv.removeEventListener('mousemove',TMP1,false);
mydiv.removeEventListener('mousemout',TMP2,false);
})
btn2.addEventListener('click',function(){
desc.innerHTML='解除绑定';
})
function changeBgColor(k,bg){
k.className=bg;
}
var TMP1 = changeBgColor.bind(this,mydiv,'newBg');
var TMP2 = changeBgColor.bind(this,mydiv,'mydiv');
</script>