【发布时间】:2025-12-07 18:45:01
【问题描述】:
我正在捕捉这样的自定义事件:
$("#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 语句来测试职位,有没有办法让它像以前一样工作?
【问题讨论】:
-
那么 $("#my_div").children(".some_class").first().on("click", function.. ?
-
或
$("#my_div .some_class").eq(0).on("click", function... -
形成您链接到的页面 " 请记住,我们仍将支持位置方法,例如 .first、.last 和 .eq。您可以使用位置选择器做任何事情,您可以改用位置方法。无论如何,它们的性能更好。”
-
您不能在
.on()中使用.first()或.eq()。它必须是一个选择器:一个选择器字符串,用于过滤触发事件的选定元素的后代。如果选择器为null或省略,则事件总是在到达被选元素时触发。 -
@VSMent 看起来不错