Stoppen Sie die Umleitung in javascript
Hallo bin die Entwicklung einer webpart die sharepoint app und muss ich halt die Umleitung in einigen Fällen. Aber es funktioniert nicht, ich bin versucht,
$('a').click(function(event){
event.preventDefault();
event.stopImmediatePropagation();
return false;
});
führt und trotzdem die Umleitung ist fertig. Wie kann ich es brechen?
Zweck ist es: wenn user ändern sth auf Seite brauche ich, um zu Fragen, ob er Vorgehen will oder nicht und dann halt irgendeine Umleitung von othe links, die er vielleicht geklickt.
Bearbeiten:
Ich habe gerade überprüft und regelmäßig einer mit links innerhalb es funktioniert, aber das problem ist mit link wie folgt:
<a title="Delivery And Technology" class="ms-cui-ctl-large" id="someId" role="button" onclick="return false;" href="javascript:;" unselectable="on" mscui:controltype="" jQuery182001210093900916337="93">
die in diesem html -
<SPAN class=ms-cui-ctl-largeIconContainer unselectable="on"><SPAN class=" ms-cui-img-32by32 ms-cui-img-cont-float ms-cui-imageDisabled" unselectable="on"><IMG style="TOP: -96px; LEFT: -160px" alt="Delivery And Technology" src="/_layouts/1033/images/ps32x32.png" unselectable="on"></SPAN></SPAN><SPAN class=ms-cui-ctl-largelabel unselectable="on">Delivery And<BR>Technology</SPAN>
so scheint, dass wenn ich auf das java script erkennt es und leitet mich damit, was ich will, zu erreichen ist es zu erkennen und zu stoppen, bevor es leitet mich zur anderen Seite.
beginnen Sie, indem Sie jQuery und kleben den code im Dokument.bereit. Sie brauchen nur die erste, preventDefault(), um zu verhindern, dass die default-Aktion von Anker.
InformationsquelleAutor kosnkov | 2013-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dadurch wird verhindert, dynamisch Hinzugefügt Anker aus der Navigation zu:
steveukx vorgeschlagen Kürzel:
$(document).on('click', 'a', false);
danke, es ist wirklich besser
das problem ist, dass dieses eine element-id und die Umleitung ist gebunden in java-script mit dieser id, und ich kann es nicht ändern, es casuse es ist aus sharepoint, also was ich Suche ist, alle Aktionen zu stoppen, die auf DOM
InformationsquelleAutor karaxuna
Meine beste Vermutung ist, dass Sie diesen code ausführen, bevor der DOM fertig ist. Versuchen Sie, wickeln Sie es in ein DOM-ready-callback:
Beachten Sie, dass die Rückgabe von false ist äquivalent zu
.preventDefault()
und.stopImmediatePropagation()
zusammen, also einfach false zurückgeben, wird ausreichend sein. In Ihrem Fall könnte es sinnvoller sein, benutzen Sie einfach.preventDefault()
und sonst nichts obwohl.InformationsquelleAutor Christofer Eliasson
Wenn das element hat eine hatte eine Ereignisprozedur bevor der code ausgeführt wird, ist es nicht möglich, zuverlässig zu entfernen oder zu verhindern, dass der handler ausgeführt wird.
Vorausgesetzt, Sie haben
jQuery
zur Verfügung, und Sie werden, wenn diese Funktion ausgeführt wird, nachdem das element wurde Hinzugefügt, um den DOM und hatte seine Handler angebracht können Sie ersetzen Sie es mit einem identischen element:InformationsquelleAutor steveukx