Simulasi Klik Tetikus dengan JavaScript: Panduan Komprehensif
Untuk mensimulasikan acara klik tetikus menggunakan JavaScript, satu kaedah biasa ialah document.form. butang.klik(). Kaedah ini membolehkan anda mencetuskan gelagat klik pada butang borang secara terus.
Walau bagaimanapun, jika anda ingin mensimulasikan acara onclick dengan lebih tepat, anda boleh menggunakan kod yang disediakan dalam pertanyaan anda:
function contextMenuClick() { var element= 'button'; var evt = element.ownerDocument.createEvent('MouseEvents'); evt.initMouseEvent('contextmenu', true, true, element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 1, null); element.dispatchEvent(evt); }
Kod ini mencipta acara tetikus baharu, memulakan sifatnya dan kemudian menghantarnya pada yang ditentukan elemen.
Simulasi Acara Boleh Disesuaikan
Untuk lebih fleksibiliti, pertimbangkan untuk menggunakan fungsi berikut:
function simulate(element, eventName, options) { // Set default options var defaultOptions = { pointerX: 0, pointerY: 0, button: 0, ctrlKey: false, altKey: false, shiftKey: false, metaKey: false, bubbles: true, cancelable: true }; // Extend default options with provided options for (var property in options) defaultOptions[property] = options[property]; // Determine event type var eventType = null; for (var name in eventMatchers) { if (eventMatchers[name].test(eventName)) { eventType = name; break; } } // Create and initialize event var oEvent; if (document.createEvent) { if (eventType == 'HTMLEvents') { oEvent = document.createEvent(eventType); oEvent.initEvent(eventName, defaultOptions.bubbles, defaultOptions.cancelable); } else { oEvent = document.createEvent(eventType); oEvent.initMouseEvent(eventName, defaultOptions.bubbles, defaultOptions.cancelable, document.defaultView, defaultOptions.button, defaultOptions.pointerX, defaultOptions.pointerY, defaultOptions.pointerX, defaultOptions.pointerY, defaultOptions.ctrlKey, defaultOptions.altKey, defaultOptions.shiftKey, defaultOptions.metaKey, defaultOptions.button, element); } element.dispatchEvent(oEvent); } else { // Legacy IE fallback defaultOptions.clientX = defaultOptions.pointerX; defaultOptions.clientY = defaultOptions.pointerY; oEvent = document.createEventObject(); oEvent = extend(oEvent, defaultOptions); element.fireEvent('on' + eventName, oEvent); } return element; }
Fungsi ini membolehkan anda menentukan pilihan tersuai untuk acara simulasi, termasuk koordinat tetikus, butang ditekan dan pengubah suai kekunci.
Penggunaan
Untuk menggunakan fungsi, cuma berikan elemen sasaran, nama acara dan sebarang pilihan yang dikehendaki:
simulate(document.getElementById("btn"), "click", { pointerX: 123, pointerY: 321 });
Ini akan mensimulasikan acara klik pada elemen "btn", dengan koordinat tetikus tersuai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Klik Tetikus dalam JavaScript dengan Pilihan Boleh Disesuaikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!