evt.currentTarget の使用
おそらく、 (そうでない) の代わりに(これevt.currentTarget
は と同等です) を使用する必要があります。通知のためにタップしているノードに子ノードがある場合、ハンドラーを 追加したノードではなく、それらの子ノードの 1 つである可能性があります。this
evt.target
click
evt.target
click
この動作のデモについては、http://codepen.io/ddopson/pen/erLivを参照してください。(内側の赤いボックスをクリックしてcurrentTarget
、赤い div をtarget
指し、イベント ハンドラーが登録されている外側の青い div を指していることを確認します)
$('ul.tabs li').on 'click', (event) =>
tab = $(event.currentTarget)
@highlight_tab(tab)
質問への回答 - `=>` と `this` の両方を取得:
次のことができます...
$('ul.tabs li').on 'click', (event) =>
tab = $(` this `) # MAKE SURE TO ADD THE SPACES AROUND `this`
@highlight_tab(tab)
this
コーヒーがむしゃむしゃ食べるのを防ぐため、スペースは重要_this
です。
「self」と「->」の使用
または、次の操作を行います...
self = this
$('ul.tabs li').on 'click', (event) ->
tab = $(this)
self.highlight_tab(tab)
これは CQQL の回答に似ていますがself
、変数名として慣用的に使用することを好みます。私のVIM 構文強調表示規則はself
、this
、arguments
、またはprototype
.