2013-12-24 3 views
0

Предположим, что я хочу запустить функцию myFunction при каждом из событий $(document).ready, $(sometag).on('click',....). Как я могу построить функцию, которая проверяет, вызвано ли какое-либо из этих двух событий, и затем запустить метод. Могу ли я передать $(document) в качестве аргумента, а затем проверить $(document).isReady или проверить $(document).click(function(e){if (e.target.is($(some tag))) ...}). Это верно ?проверить несколько событий - jQuery

+1

'если (e.target.is ('DIV'))' –

+0

@ArunPJohny должен быть '$ (e.target) .is', помните, что' e.target' является ссылкой DOM элемент (предположим, вы, возможно, забыли это на мгновение ';)'). –

+0

@ FabrícioMatté пропустил это ... –

ответ

1

Непросто понять, о чём вы говорите, но похоже, что вы пытаетесь подключить обработчик событий и, запустив его на готовом документе, и если так вы сделаете это так:

$(document).ready(function() { 
    $(sometag).on('click', function() { 
     // do stuff 
    }).trigger('click'); 
}); 
+0

Извините, если я не знаю. На самом деле я не хочу повторять. Я хочу запустить некоторую функцию при срабатывании любого из двух событий: 'document is ready'' щелчок какого-то тега – user1611830

+0

@ user1611830 - И это именно то, что это делает! – adeneo

0

Если я вас правильно понял:

function myFunc(event) { 
    if (event.type == 'ready') 
     console.log('It is a document.ready'); 
    else if (event.type == 'click') 
     console.log('It is a click'); 
} 
$(document).on('ready', myFunc).on('click', 'a', myFunc); 

jsfiddle

0

от того, что я CoU л.д. понять из Вашего вопроса ...

Jsfiddle: http://jsfiddle.net/patelmilanb1/eR4wG/1/

$('.checkbox').change(function (e) { 
    if (e.isTrigger) { 
     alert('not a human'); 
    } else { 
     alert("manual check by human"); 
    } 
}); 

$('.checkbox').trigger('change'); //alert not a human because it is automatically triggered. 
0

Я не понимаю ваш вопрос очень много, но попробуйте это:

$(function(){ 
    $('div1,div2,#id1,#id2,.class1,.class2').click(function(){ 
     // do something 
     yourFunction(); 
    }); 
}); 
0

запускающего функцию на множестве событий элемента , вы можете попробовать:

$('#element').on('keyup keypress blur change', function() { 
    ... 
}); 

и несколько функций на нескольких элементах, попробуйте:

$('#element #element1 #element2').on('keyup keypress blur change', function() { 
    ... 
}); 
Смежные вопросы