can jQuery replace default javascript alert or confirm?
Title doesn't actually reflec开发者_高级运维t what I'm trying to explain. Is it possible to achieve below with jQuery
<a href="#" onclick="alert('test');">test</a>
when users clicks on test link jQuery takes control over default alert function and displays a jQuery modal window or something similar doesn't really matter.
alert = function(foo) {
// some functionality
};
Browser support may vary. It appears to work OK in Fx 4.0b7.
Something like this might works ( based on the initial suggestion from @Quentin ):
// alert replacement ##
var alerter;
alert = function(foo) {
//console.log(foo);
if ( !jQuery('#alerter').length ) {
jQuery("body").append( jQuery('<div>', { id: 'alerter'}) ); // make it ##
}
jQuery('#alerter').addClass('alerter').text(foo).slideDown("fast");
clearTimeout(alerter);
alerter = setTimeout(function(){
jQuery('#alerter').slideUp("fast");
}, 5000);
}
Here is an example where the default alert is never called. Instead the popup is displayed. Not certain if calling the default alert is requirement.
http://jsfiddle.net/pBsw6/
Hope this helps.
Bob
精彩评论