Используйте флаг, чтобы указать, что .load()
уже запущен.
var triggered = false; // our flag
$('.element_A, .element_B').click(function(){
// if it hasn't run yet, run it and set "triggered" to "true"
if( !triggered ) {
$(".element_C").load("someFile", etc);
triggered = true;
}
});
Вы можете установить его обратно на false
в обратном вызове для load
, если необходимо.
Или, если причина, по которой он запускается дважды, заключается в том, что один из элементов в селекторе вложен внутри другого, то это происходит потому, что событие пузырится.event.stopPropagation()
(документы) метод.
$('.element_A, .element_B').click(function( event ){
// prevent the event from bubbling and triggering the handler again
event.stopPropagation();
$(".element_C").load("someFile", etc);
});