사용자가 클릭하거나 입력 할 때 무언가를 토글하고자하는 상황에 있습니다. enter
.두 이벤트 유형이 실행되지 않도록 방지
불행히도, 난 어딘가의 enter
키를 수신하고 그들이 enter
의 keyup를받을 때 일부 항목에 .click()
을 트리거하는 대규모 사이트에서 일하고 있어요. 나는 어디에서 찾을 수없는, 나는 싶지 않을 것이다 (또는 수) 내가 그것을 찾을 수있는 경우 변경하는 것이 아니라 그냥 같이 동작합니다
$("#item").on("keyup", function(event){
if(event.keyCode == 13){$('#item').click();}
});
결과는 나의 "토글"스크립트 사용자가 enter
을 입력하면 자체 실행이 두 번 실행됩니다.
$('body').on('click keyup', '#item', function(e) {
console.log("-----------------");
if(e.type=="click") {
console.log("Event Type: " + e.type);
//toggle something
} else {
console.log("Event Type: " + e.type+ ", keyCode: " + e.keyCode);
//toggle something
}
});
사람이 입력에 도달 할 때 발사되는 모두 keyup
및 click
을 방지 할 수있는 방법이 있습니까? 확실한 대답은 스크립트의 keyup
부분을 제거하는 것입니다. 그러나 [enter] -> [click] 스크립트가 보편적으로 적용되지 않기 때문에이 기능이 작동하지 않습니다. 따라서 enter
키가 필요합니다. 적용되지 않는 곳.
당신은 제거 할 수 있습니다 이전 바인딩 (들)'.OFF를 사용하여() ' –
질문에서 언급했듯이, 기존 바인딩을 변경하고 싶지는 않지만, 내가 변경할 수 없다고 말했을 때 틀렸다고 생각합니다. 나는 그것이 필요하다는 의미에서 단지 "불가능"합니다. – brentonstrine
아 좋아, 나는 당신이 그들의 코드를 바꿀 수 없다고 생각했지만, 당신은 그 행동을 바꾸고 싶지 않다고 생각한다. –