Heim > Fragen und Antworten > Hauptteil
Es ist bekannt, dass die Ausführungsreihenfolge eines Tags das onclick->href-Attribut ist
1 2 3 4 5 6 7 8 9 |
|
So ändern Sie diesen Mechanismus, sodass nach Abschluss des Onclick-Ereignisses die URL, die das href-Attribut ausführt, springt. Die Funktion im Onclick-Ereignis sendet eine Ajax-Anfrage und ändert das href-Attribut basierend auf dem Rückgabewert Nachdem Sie das href-Attribut geändert haben, müssen Sie eine neue Seite im aktuellen Browser öffnen
Aktualisierung---------2017.06.30------ ---------------Nach dem Test habe ich die Ajax-Anfrage auf synchrone Ausführung umgestellt, aber die Onclick-Funktion des a-Tags kann immer noch nicht ausgeführt werden, bevor die href-Aktion ausgeführt wird.
Der Grund kann sein, dass Ajax in eine synchrone Anfrage geändert wird, wodurch andere Vorgänge auf der aktuellen Seite blockiert werden,
Aber der Klick auf das a-Tag wurde abgeschlossen und die nachfolgende href-Aktion wird weiterhin ausgeführt. Die href-Aktion ist zu diesem Zeitpunkt void(0) und die Ajax-Anfrage wurde zu diesem Zeitpunkt noch nicht zurückgegeben
Antworten, das heißt, die Ajax-Synchronisierungsanforderung blockiert nicht die Aktion des a-Tags
Ich freue mich auf bessere Antworten
过去多啦不再A梦2017-07-01 09:14:15
$('a').click(function(e) {
1 |
|
var _ = $(this)
$.get(xx, function() {
1 |
|
});
})
淡淡烟草味2017-07-01 09:14:15
1 2 3 4 5 6 7 |
|
曾经蜡笔没有小新2017-07-01 09:14:15
在onclick里面使用js跳转页面
//ajax start
success:function(){
1 2 3 |
|
}
怪我咯2017-07-01 09:14:15
1、禁止a标签跳转 href="javascript:void(0)"
2、在onclick方法中请求ajax,成功后,将返回值绑定到href上
天蓬老师2017-07-01 09:14:15
浏览器所有的是有的默认事件的禁用,都可以用 event.preventDefault()
来阻止,剩下的在你的回调函数里,你可以任意的去操作, 当然如果你需要兼容IE8及以下,可以兼容写法如下:
1 2 |
|
曾经蜡笔没有小新2017-07-01 09:14:15
久等了,请食用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
为情所困2017-07-01 09:14:15
1 2 3 4 5 6 7 8 |
|