Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用addeventlistner在javascript中绑定事件?_Javascript_Jquery - Fatal编程技术网

如何使用addeventlistner在javascript中绑定事件?

如何使用addeventlistner在javascript中绑定事件?,javascript,jquery,Javascript,Jquery,我正在尝试将jquery代码转换为vanilajs。我在事件绑定中面临问题。我发现:last child和:last在javascript中无效。那么替代方法是什么? 我正在尝试添加事件侦听器,但出现以下错误: Uncaught DOMException: Failed to execute 'matches' on 'Element': '.u28result:last-child a:last' is not a valid selector. at HTMLDivEleme

我正在尝试将
jquery代码转换为vanila
js。我在事件绑定中面临问题。我发现
:last child
:last
在javascript中无效。那么替代方法是什么? 我正在尝试添加事件侦听器,但出现以下错误:

Uncaught DOMException: Failed to execute 'matches' on 'Element': '.u28result:last-child a:last' is not a valid selector.
        at HTMLDivElement.<anonymous> (http://localhost:63342/aa/aa.js:1315:48)**
我想在vanila js中做同样的事情。是否可以使用js在
:last child
a:last
中绑定事件

  document.querySelector(".u28w8").addEventListener("keydown", function (e) {
        function handler(e){
            if (e.shiftKey && e.keyCode == 9) {
                return;
            }
            if (e.keyCode === 9) {
                e.preventDefault();
                searchresults.querySelectorAll('.u28resultsclose a')[0].focus();
            }
        }
        for (var target = e.target; target && target != this; target = target.parentNode) {
            if (target.matches(".u28result:last-child a:last")) {
                handler.call(target, e);
                break;
            }
        }
    });
我认为这方面有问题

target.matches(".u28result:last-child a:last")) {
我试图通过事件委派添加事件


如何将event last child与last a绑定?

有一个:last child伪类,但没有:lastwell,因为您选择的是:last child和:last,难道您不能访问元素,然后从结果集合中选择最后一个吗?不是所有的事情都必须用css选择器来完成。jQuery代码中没有循环,为什么我在vanila JS中还有一个循环?@misterjojojo
$(“.u28w8”)。在
上,隐式循环(但给出了您的答案,我想您知道)我假设循环是为了检查单击的元素是否是与选择器匹配的元素的子元素。。。我认为在这一点上,更好的方法是放弃jquery过程,并将其视为一个从一开始就不用jquery就能解决的新问题。
target.matches(".u28result:last-child a:last")) {