开发者

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜