2014-12-23 3 views
2

경고 메시지가 호출 될 때 어떤 Dom 이벤트가 발생하는지 알고 싶습니다. 경고 메시지가 호출 될 때 start_tracking 메서드를 호출하려고합니다. 페이지 크기를 조정할 때 메서드를 호출 할 수 있지만 경고 메시지가 발생할 때 호출되는 메서드를 어떻게 알 수 있습니까?경고 메시지가 발생할 때 함수 호출

win.addEventListener("click", function(event) { 
     start_tracking(); 
}); 

페이지의 아무 곳이나 클릭 할 때 클릭 이벤트가 작동하지만 경고 메시지 콘텐츠를 클릭하면 클릭 수신기가 실행되지 않습니다. alert() 함수에서 아무 것도 해고되지 않는 것 같습니다.

+1

'alert' 함수 자체는 어떤 이벤트도 발생시키지 않습니다. –

+0

그래서 경고 메시지가 나면 어떻게해야합니까? 다른 방법을 호출해야합니다 @AnthonyForloney – Coder

+5

제 제안은 jQuerys ['dialog']와 같은 네이티브'alert' 기능보다 더 직관적이고 사용자 친화적 인 것을 사용하는 것입니다. (http://jqueryui.com/dialog/) 함수와 그것에 훅. –

답변

1

alert() 함수 이벤트를 캡처 할 수 없습니다. 왜 그렇게하고 싶은지 모르지만 대신 warn()이라는 또 다른 함수를 만들 것입니다.

function warn(warning) { 
 

 
    alert(warning); 
 
    capturedAlert(); 
 

 
} 
 

 
function capturedAlert() { 
 

 
    alert('An alert was called.'); 
 

 
}
<button onclick="warn('This is a warning!')">Warn!</button>

이 방법은, 때마다 warn()은 사용자가 사용자를 alert(), 그리고 다른 함수를 호출 할 수있다,라고합니다.

2

당신은 네이티브 경고 함수를 재정의 할 수 ...

function testAlert(){ 
 
    alert('Test Alert Warning... You clicked a button.'); 
 
} 
 
window.oldAlert = window.alert; 
 
window.alert = function alert(msg){ 
 
    console.log(arguments.callee.caller.name + ' is the name of the calling function.'); // calling function... 
 
    oldAlert(msg); 
 
    oldAlert(arguments.callee.caller.name + ' is the name of the calling function.'); 
 
}
<button onclick="testAlert();">Warn!</button>
이 당신을 호출하는 기능 이름을 줄 것이다

는 ... 희망이 도움이됩니다.

관련 문제