在选择选项更改事件中,为什么我们无法获取this
或event.target
来获取所选值而不是编写像$( "select option:selected" )
这样的笨拙代码来获取所选值?
因为我遇到了一个问题,当更改事件触发时我必须在dom选项中访问一些data-*
属性。
答案 0 :(得分:1)
从docs,当
jQuery
调用处理程序时,this关键字是对事件正在传递的元素的引用;对于直接绑定事件,这是附加事件的元素,对于委托事件,这是一个元素匹配选择器。 (请注意,如果事件来自后代元素,则可能不等于event.target。)
对于select-change
事件,此refers
到select
元素因此您可以使用this.value
或$(this).val()
获取值。
获取data-*
元素的option
属性,
使用$('option:selected', this)
,因为这会只选择changed
select-element(this
)