Saya mencoba mengubah gaya banyak bidang teks pada tata letak aplikasi di RSA Archer GRC menggunakan objek khusus. Saya menulis skrip dan itu hanya berjalan sekali, ketika aplikasi dibuka. Masalahnya adalah tata letak berisi banyak tab. Saat tab diubah, skrip tidak berfungsi lagi. Jadi bagaimana cara menjalankan skrip pada setiap perubahan tab?

var tableId = 'master_DefaultContent_rts_ts3295_s4655_f18821srvgrid_ctl00';
//table with target elements

$(document).ready(function () { //run script when page is loaded
    main();
});

function main() {
    var table = document.getElementById(tableId).getElementsByTagName("tbody")[0];
    var rows = table.getElementsByTagName("tr");

    for (var i = 0; i < (rows.length - 1); i++) {
        var field = rows[i].getElementsByTagName("td")[1];
        var spanElements = field.getElementsByTagName("span"); //target elements

        for (var k = 0; k < spanElements.length; k++) { //apply style for each of them
            var elem = spanElements[k];
            elem.style.fontFamily = "Times New Roman";
            elem.style.fontSize = "14pt";
            elem.style.color = "black";
        }
    }
}
0
Alexander 4 Juni 2019, 13:22

2 jawaban

Jawaban Terbaik

Coba gunakan ini di objek khusus Anda alih-alih $(document).ready({});, itu akan menyala setiap kali tab dimuat.

function pageLoad(){
     //code
}
2
DjP 4 Juni 2019, 14:45
<tabelement onclick="main()">Tab</tabelement>

Gunakan acara onclick pada tab untuk menjalankan fungsi utama.

0
Jesper1 4 Juni 2019, 10:31