これは、次のアプローチを使用してイベントをtextarea
blur
トリガーするだけの場合、イベントから関数をトリガーする方法によって異なります。click
$('#btn').click(
function(e){
buttonActivation(e);
});
$('#txt').blur(
function(e){
$('#btn').click();
});
次に、オブジェクトを評価して元のイベントが何であるかを確認することをお勧めしoriginalEvent
ます(存在しない場合、関数はjQueryを使用しoriginalEvent
てプログラムイベントによって呼び出されましたが、評価する場合はボタンがクリックされている必要があります。click
originalEvent.type
click
function buttonActivation(e) {
if (!e) {
return false;
}
else {
var oEvent = e.originalEvent;
if (oEvent === undefined) {
console.log('Programmatic event');
}
else if (oEvent.type == 'click') {
console.log('User-initiated event');
}
}
}
JSフィドルデモ。
ただし、次のようなものを使用している場合(単に別の場所から同じ関数を呼び出す):
$('#btn').click(
function(e){
buttonActivation(e);
});
$('#txt').blur(
function(e){
buttonActivation(e);
});
次に、直接評価するe.target
か、次のいずれかをお勧めしますe.type
。
function buttonActivation(e) {
if (!e) {
return false;
}
else {
var oEvent = e.type;
if (oEvent === 'blur') {
console.log('Programmatically-triggered event, on ' + oEvent);
}
else if (oEvent == 'click') {
console.log('User-initiated ' + oEvent + ' event');
}
}
}
JSフィドルデモ。