2012-06-05 4 views
2
<div onclick="AutogeneratedMethod()"> 
<span>SPAN 1 : I require auto method </span> 
<span onclick="DesiredMethod()">SPAN 2 : I do not require auto method</span> 
</div> 

В приведенном выше примере кода, как предотвратить вызов AutogeneratedMethod(), когда пользователь нажимает на SPAN 2? Я не контролирую декларацию div и ее поведение onclick. Эта строка автоматически генерируется из используемой структуры.Предотвращение выполнения Javascript

Я ищу что-то, что убьет выполнение Javascript в конце DesiredMethod(). Что-то вроде этого:

function DesiredMethod() { 
//Do necessary stuff 
exit; //Abort any further Javascript 
} 
+0

выполнить недействительный код, он полностью предотвратит дальнейший JavaScript :) – ajax333221

+0

Есть ли какой-нибудь jQuery в другом месте в вашем коде? – Blazemonger

ответ

0

Вы также можете просто переместить вещи вокруг немного, как это:

<div> 
    <span onclick="AutogeneratedMethod()">SPAN 1 : I require auto method </span> 
    <span onclick="DesiredMethod()">SPAN 2 : I do not require auto method</span> 
</div> 

Тогда вам не нужно будет беспокоиться о распространении событий и бульканье.

Возможно, вы также захотите рассмотреть возможность добавления событий JavaScript через другой механизм с помощью фреймворка (jQuery и т. Д.) Или с помощью чистого JavaScript. Выполнение этого с помощью HTML-атрибутов неодобрительно по многим причинам. Отъезд this link для более подробной информации.

+0

Это не под моим контролем. Разделение и его onclick, о которых я упоминал здесь, генерируется JSF. – brayne

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