trigger
次の関数を使用してプログラムでイベントをトリガーするときに、パラメーターを渡すことができます。
$('input').click (e, target = e.target) ->
console.log 'target:', target
false
$('a').click (e) ->
$('input').trigger 'click', this
target
デフォルトでに設定されているオプションの引数をe.target
渡しています。リンクをクリックすると、リンク自体がそのパラメーターとして渡されます。次に、そのパラメーターを使用して、トリガー要素がどれであるかを確認できます。このjsfiddleでさまざまな出力を確認できます。
ただし、この単純な例を考えると、このソリューションはおそらく少し混乱していると言わなければなりません。両方の要素( jsfiddle)のクリックハンドラーと同じ関数を使用することをお勧めします。
$('input, a').click (e) ->
console.log 'target:', e.target
false
または、要素ごとに異なることを行い、次に両方に共通することを行う必要がある場合は、その一般的な動作に別の関数を使用できます。
$('input').click (e) ->
# Do something special for the input.
commonClickHandler this, e
$('a').click (e) ->
# Do something special for the link.
commonClickHandler this, e
somethingCommon = (element, event) ->
# Do something common for both elements.