반응형
jquery 이벤트 핸들러 덮어쓰기 방법
간단한 코드로 문제를 설명해 보겠습니다.
var fireClick = function() { alert('Wuala!!!') };
$('#clickme').click(fireclick);
$('#clickme').click(fireclick);
그래서 지금은 분명히 2번 경고할 것이지만 나는 1번만 경고가 필요합니다.많은 방법을 시도했지만 결과는 없었습니다.
감사해요.
jQuery 1.7 기준으로 이벤트 핸들러를 제거하고 추가하기 위해 사용해야 하지만, 여전히 사용할 수 있습니다.click속기의
$('#clickme').off('click').on('click', fireclick);
$('#clickme').off().on('click', fireclick);
원래 답변:
모든 클릭 핸들러를 바꾸려면 함수 인수 없이 먼저 unbind를 호출합니다.모든 이벤트 핸들러를 바꾸려면 이벤트 유형을 지정하지 마십시오.
$('#clickme').unbind('click').click(fireclick);
$('#clickme').unbind().click(fireclick);
네임스페이스를 사용하여 다른 수신기를 제거하지 않도록 합니다.
$('#clickme').off('click.XXX').on('click.XXX', fireclick);
다른 코드가 사용되지 않는 한XXX, 당신이 알지 못했던 다른 행동들을 망치지 않았다는 것을 확신할 수 있습니다.
jQuery 함수 unbind를 사용하여 첫 번째 이벤트를 제거할 수 있습니다.
var fireClick = function() { alert('Wuala!!!') };
$('#clickme').click(fireclick);
$('#clickme').unbind('click', fireClick); // fireClick won't fire anymore...
$('#clickme').click(fireclick); // ...but now it will
추가 전화를 없애려고 노력하지만, 매번 두 전화를 모두 할 수 있는 시간이 부족합니다.
$('#clickme').unbind('click', fireclick);
$('#clickme').click(fireclick);
$(document).off('click', '#clickme').on('click', '#clickme', fireclick);
setInterval을 사용해야 합니다.문제는 두 개의 알림이 동시에 팝업으로 표시될 수 없다는 것입니다.첫번째가 먼저 닫히거나 두번째가 화면에 나타나지 않습니다.
언급URL : https://stackoverflow.com/questions/741628/how-to-overwrite-jquery-event-handlers
반응형
'programing' 카테고리의 다른 글
| 로봇 공학을 위한 프로그래밍은 어디서부터 시작해야 합니까? (0) | 2023.09.20 |
|---|---|
| AngularJS I18n 파일은 어디에 있습니까? (0) | 2023.09.20 |
| null XML 요소를 나타내는 올바른 방법은 무엇입니까? (0) | 2023.09.20 |
| jQuery/Ajax 작업으로 UTF-8 양식 텍스트 영역을 제출하려면 이 코드를 어떻게 만들어야 합니까? (0) | 2023.09.20 |
| angularJS에서 내부 콜백에서 $scope 업데이트 (0) | 2023.09.20 |