2016-04-28 13 views
2

Ich benutze eine Plattform, die Seiten mit minimierten js-Dateien (Madcap Flare) generiert, und ich muss Code zu einem Klickereignis hinzufügen. Ich habe versucht, die folgenden:Umhergehen event.preventDefault() in jQuery

$('body').on('click', 'a', function(e) { 
    alert(11111111111); 
    }) 

Es mancherorts löst, aber nicht, wo ich es muss, was mich irgendwo denke, es gibt eine preventDefault() Anweisung.

Gibt es einen Weg, um es zu umgehen?

Ich lese über event.isDefaultPrevented(), aber ist es möglich, diese Funktion außerhalb einer ausgelösten Funktion arbeiten? Ich meine, wenn Sie innerhalb des Auslösers sind, dann wurde es nicht verhindert, und wenn es verhindert wird, wie Sie die isDefaultPrevented() Anweisung treffen?

Antwort

2

... Wenn Sie innerhalb des Triggers sind, dann wurde es nicht verhindert, und wenn es verhindert wird, wie Sie die isDefaultPrevented() Anweisung erfüllen?

Vielleicht möchten Sie es in einem anderen Ereignis Bindungsfunktion verwenden:

// Your original code 
$('body').on('click', 'a', function(e) { 
    alert(11111111111); 
    }) 

// Somewhere else in your code 
$('body').on('click', 'a.some-class', function(e) { 
    if(e.isDefaultPrevented()){ 
    console.log('Yeap, some other function has called e.preventDefault()'); 
    } 
}); 

Gibt es einen Weg, um es zu bekommen?

Yeap, lösen Sie ein neues Ereignis aus. Vielleicht möchten Sie dafür eine new event object erstellen.

+0

Danke, das beantwortet es, und der Link ist nützlich. – Francis

Verwandte Themen