事件代理的问题 $(this) 为什么 是

来源:2-3 为搜索框添加功能--事件代理和显示隐藏下拉层

琥珀_2020

2020-01-04 13:31:21

$layer.on('click', '.search-layer-item', function () {
        $input.val($(this).html());
        $input.parents('form').submit();
    });

这里 $(this)  为什么 是指代 '.search-layer-item' 而不是$layer    怎么理解$(this) 这个参数

写回答

1回答

好帮手慕星星

2020-01-04

同学你好,this指向绑定事件的元素,而on方法中第二个参数是选择器:

http://img.mukewang.com/climg/5e103a20097a7d0705160118.jpg

实际上click事件绑定在了search-layer-item上,所以$(this)指向的就是search-layer-item 。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程