создание метода alert () без отображения - javascript - PullRequest
1 голос
/ 09 июня 2011

Есть ли способ дублировать действия функции alert () без всплывающего окна?Это может показаться сумасшедшим, но для этого есть веская причина.

РЕДАКТИРОВАТЬ

Вот мой код:

var navActive;
var pageID;
var maxNav;
var popWidth = $(window).width();
var popHeight = $(window).height();

function thread_start(callback) {

   setTimeout(callback, 1);
   return true;
}

(function($){

$.fn.foneySlide = function ( options ) {

    $(window).resize(function(){
        popWidth = $(window).width() - 40;
        popHeight = $(window).height() - 40;
    })

    opt = $.extend ({ popOnTransition : true }, options);

    // firstly give all navigation items a position reference for continous slide
    $('[data-role=page]').each(function(i){
        $(this).attr('navpos', i );
        if( typeof $('[data-role=page]')[i+1] == 'undefined' ) {
            maxNav = i;
        }
    });

    // get the current active page and the default navigation position
    pageID = $('.ui-page-active').attr('id');
    navActive = $('#' + pageID).attr('navpos');

    // change page on swipe left       
    $('body').bind('swipeleft', function(e){
        if( navActive == maxNav ) {
            navActive = 0;
            alert();
            thread_start("$.mobile.changePage($('[navpos=0]'), 'slide', false, true)");
        }else{
            navActive = Number(navActive + 1);
            alert();
            thread_start("$.mobile.changePage($('[navpos=' + navActive  + ']'), 'slide', false, true)");
        }
    });

    // change page on swipe right                
    $('body').bind('swiperight', function(e){
        if( navActive == 0 ) {
            navActive = maxNav;
            alert();
            thread_start("$.mobile.changePage($('[navpos=' + navActive + ']'), 'slide', true, true)");
        }else{
            navActive = Number(navActive - 1);
            alert();
            thread_start("$.mobile.changePage($('[navpos=' + navActive  + ']'), 'slide', true, true)");
        }
    }); 
}   

}) (jQuery);

удаляет оповещения и начинает зависать.

Ответы [ 4 ]

0 голосов
/ 09 июня 2011

Чтение ваших комментариев, но не знание вашего кода, это то, что вы пытаетесь достичь?

перед:

function something() {
  a();
  b(); // needs a pause before executing c()
  c();
}

после

function something() {
  a();
  b(); // needs a pause before executing c()
  setTimeout(c,10);
}
0 голосов
/ 09 июня 2011
window.alert = function(text) { }
0 голосов
/ 09 июня 2011

Я не знаю, действительно ли это то, что вам нужно, но я использую firebug и console.log часто вызывают, чтобы получить информацию о том, что делает javascript, не влияя на поток сайта.

помните, однако, чтобы обходить метод console.log, если он является живым сайтом, так как любой человек без firebug получит ошибки.

if(typeof console == 'undefined') {
    console = function(){}
    console.log = function(txt){}
    console.warn = function(txt){}
} else console.log('Console Active'); 

Получить сайт Firebug

0 голосов
/ 09 июня 2011

Существует только одно использование оповещения, и оно показывает всплывающее окно, поэтому мне интересно, что это за причина...:)

Но это возможно, как продемонстрировано здесь, на SO .

function alert(msg)
{
  // Ignore
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...