Adalah diketahui bahawa susunan pelaksanaan teg ialah onclick->href attribute
当点击浏览器a标签的时候,浏览器的默认机制如下:
1、触发a的click事件
2、读取href属性的值
3、如果是URI则跳转
4、如果是javascript代码则执行该代码
Cara menukar mekanisme ini supaya apabila acara onclick selesai, URL yang melaksanakan atribut href akan melompat Fungsi dalam acara onclick menghantar permintaan ajax dan mengubah suai atribut href berdasarkan nilai pulangan
.Selepas mengubah suai atribut href, anda perlu membuka halaman baharu dalam penyemak imbas semasa
kemas kini------------------------2017.06.30-------- ---------------
Selepas ujian, saya menukar permintaan ajax kepada pelaksanaan segerak, tetapi ia masih tidak dapat membuat fungsi onclick tag selesai melaksanakan sebelum melaksanakan tindakan href
Alasannya mungkin ajax diubah suai kepada permintaan segerak, yang akan menyekat operasi lain pada halaman semasa,
Tetapi klik pada teg telah selesai, dan tindakan href seterusnya terus dilaksanakan, dan tindakan href adalah batal(0) pada masa ini, dan permintaan ajax masih belum dikembalikan pada masa ini
Balas, iaitu, permintaan penyegerakan ajax tidak menyekat tindakan tag a
Nantikan jawapan yang lebih baik
$('a').klik(fungsi(e) {
var _ = $(this)
$.get(xx, function() {
});
})
Gunakan js untuk melompat ke halaman dalam onclick
//ajax start
success:function(){
}
1. Larang tag daripada melompat href="javascript:void(0)"
2. Minta ajax dalam kaedah onclick
Kenapa tidak tetapkan nilai kepada
href
dahulu dan kemudian lompat selepas permintaan selesai?Semua acara lalai dalam penyemak imbas dilumpuhkan, dan anda boleh menggunakan
event.preventDefault()
untuk menghalangnya dalam fungsi panggil balik anda, dan anda boleh melakukan apa sahaja yang anda mahu, jika anda perlu serasi dengan IE8 dan ke bawah, anda boleh tulis seperti berikut: :Setelah lama menunggu, sila makan