事件处理程序

1.执行以下程序,下列选项中,说法正确的是()

<button>点击</button>
<script>
function a(){
    console.log(1);
    return function b(){
        console.log(2);
}
}
var btn = document.querySelector('button');
btn.onclick = a(); ...(1)
btn.onclick = a; ...(2)
</script>

A、若注释(1),则执行结束后会输出1,当用户点击button按钮时,输出2
B、若注释(1),则执行结束后不会有输出,当用户点击button按钮时,输出1
C、若注释(2),则执行结束后不会有输出,当用户点击button按钮时,输出1
D、若注释(2),则执行结束后输出1,当用户点击button按钮时,不会有任何输出

解析:
 若注释(1),即btn.onclick = a; 即给btn的onclick事件处理函数赋值一个函数,此函数被视为元素的方法,则执行结束后不会有输出(此处赋值过程没有调用函数,函数不会执行),当用户点击button按钮时,触发事件,执行函数a,输出1,return一个函数b,此函数没有被调用不会被执行。
 若注释(2),即btn.onclick = a();== 先调用a函数==,执行完a函数输出1,将return的函数b赋值给btn的onclick事件处理函数,此时点击button按钮,触发事件,执行函数b,输出2.

注意:赋值过程是从右往左,理解怎样算调用函数。

2.以下哪些事件支持冒泡?(B、D)

A.mouseenter
B.scroll
C.focus
D.keypress

解析:记住不支持冒泡的事件:
①focus (当元素获得焦点时触发)
②blur (当元素失去焦点时触发)
③mouseenter (用户把鼠标光标从元素外部移到元素内部时触发)
④mouseleave (用户把鼠标光标从元素内部移到元素外部时触发)
⑤load (在window上当页面加载完成后触发)
⑥unload (在window上当页面完全卸载后触发)
⑦resize(在window或窗格上当窗口或窗格被缩放后触发)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值