2013-07-19 2 views
-1

Я использую ниже код, чтобы использовать мою страницу как кнопку, но проблема в том, что при нажатии на другие кнопки эта функция работает тоже, что вы предлагаете? document.body.onmousedown = function()Используйте страницу тела, как кнопку

+0

Вы используете jQuery на своей странице? Если да, посмотрите на ['event.stopPropagation()'] (http://api.jquery.com/event.stopPropagation/). – Mooseman

+1

Остановить событие от пузырей. – j08691

+0

@Mooseman: да я использую – user2599584

ответ

0

JQuery Пример:

// Stop bubbling with event.stopPropagation(); on inner buttons 
$("#selector").on('click',function(event){ 
    event.stopPropagation(); 
    // Run your code 
}); 

$("body").on('click', function(){ 
    // Run your code 
}); 
+0

Используете ли вы первый для * всех * своих других функций? – Mooseman

0

Вы можете делать то, что предложило Mooseman, но вам придется добавить .stopPropagation() все обработчик в-страницы, так вот еще одно решение.

Использование event.target для обнаружения источника события, как это:

$('body').on('click',function(e){ 
    if (e.target === document.body) { 
     alert('body clicked'); 
    } 
}); 

или с помощью NODENAME:

if (e.target.nodeName.toUpperCase() === 'BODY') { 

или JQuery путь:

if ($(e.target).is('body')) { 

Here's a fiddle.

Смежные вопросы