为什么选择选项更改事件不能使用此事件和event.target来获取所选值?

时间:2016-07-14 16:51:34

标签: javascript jquery

在选择选项更改事件中,为什么我们无法获取thisevent.target来获取所选值而不是编写像$( "select option:selected" )这样的笨拙代码来获取所选值?

因为我遇到了一个问题,当更改事件触发时我必须在dom选项中访问一些data-*属性。

1 个答案:

答案 0 :(得分:1)

  

docsjQuery调用处理程序时,this关键字是对事件正在传递的元素的引用;对于直接绑定事件,这是附加事件的元素,对于委托事件,这是一个元素匹配选择器。 (请注意,如果事件来自后代元素,则可能不等于event.target。)

对于select-change事件,此refersselect元素因此您可以使用this.value$(this).val()获取值。

获取data-*元素的option属性,

使用$('option:selected', this),因为这会只选择changed select-element(this

上下文中的选项