我正在捕捉这样的自定义事件:
$("#my_div").on("custom_event", ".some_class:first", function...
这很好用。事情是因为jQuery 3.4 is deprecating :first
选择器(以及其他),我想做类似的事情
$("#my_div").on("custom_event", $(".some_class").first(), function...
但这行不通,因为 the selector parameter must be a string .在我的例子中,事件是在第一个事件之外的第二个、第三个等等捕获的。我只需要首先被捕获。
如何更新代码?我想避免和 if 语句来测试位置,有没有办法让它像以前一样工作?
最佳答案
您可以使用 ':first-child'相反。
$("#my_div .some_class:first-child").on("custom_event", function(){
// code
)};
如果你正在操作 DOM(动态创建元素),你只需要在一开始就存在的东西上使用 .on() ,选择器不会改变,例如:
$(document).on('custom_event', "#my_div .some_class:first-child",function(){
// code
})
jquery 对其进行了更改以使其与 css 伪选择器匹配是有道理的。
关于jquery - 位置方法而不是 jquery 事件中的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60515136/