Cipta kesan jadual boleh diedit berdasarkan JQuery_jquery
WBOY
Lepaskan: 2016-05-16 16:24:54
asal
1123 orang telah melayarinya
Saya baru-baru ini mengusahakan projek, dan keperluan projek ialah: klik pada jadual untuk mengedit terus, tekan Enter atau klik di tempat lain pada halaman untuk menjadikan pengeditan berkesan, tekan Esc untuk membatalkan pengeditan
Dua rakan memberi 2 penyelesaian Mari kita lihat yang mana lebih sesuai?
Kaedah pertama untuk mengedit jadual dengan mengklik padanya
//Setara dengan menambahkan acara onload pada teg badan dalam halaman
$(fungsi() {
//Cari semua nod td
var tds = $("td");
//Tambah acara klik pada semua td
tds.click(function() {
//Dapatkan objek yang sedang diklik
var td = $(this);
// Keluarkan kandungan teks td semasa dan simpan
var oldText = td.text();
//Buat kotak teks dan tetapkan nilai kotak teks kepada nilai yang disimpan
var input = $("");
//Tetapkan kandungan objek td semasa kepada input
td.html(input);
//Tetapkan acara klik pada kotak teks menjadi tidak sah
input.klik(fungsi() {
pulangan palsu;
});
//Tetapkan gaya kotak teks
input.css("lebar sempadan", "0");
input.css("font-size", "16px");
input.css("text-align", "center");
//Tetapkan lebar kotak teks sama dengan lebar td
input.width(td.width());
//Cetuskan pilih semua acara apabila kotak teks mendapat fokus
input.trigger("focus").trigger("select");
//Apabila kotak teks hilang fokus, ia bertukar kembali kepada teks
input.blur(function() {
var input_blur = $(this);
//Simpan kandungan kotak teks semasa
var newText = input_blur.val();
td.html(newTeks);
});
//Tindak balas kepada acara papan kekunci
input.keyup(fungsi(acara) {
// Dapatkan nilai kunci >
var keyEvent = peristiwa ||
kunci var = keyEvent.keyCode;
//Dapatkan objek semasa
var input_blur = $(this);
suis (kunci)
{
kes 13://Tekan kekunci Enter untuk menyimpan kandungan kotak teks semasa
var newText = input_blur.val();
td.html(Teks baharu);
rehat;
kes 27://Tekan kekunci esc untuk membatalkan pengubahsuaian dan tukar kotak teks menjadi teks
td.html(Teks lama);
rehat;
}
});
});
});
Kaedah kedua untuk mengklik pada jadual untuk mengedit
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn