Added parameters to the add_*_event_listener JS functions for stopping event behavior

This commit is contained in:
p2jason
2024-12-01 11:54:52 +11:00
committed by flysand7
parent 9adc7f2bcf
commit 0eac9f15bc
2 changed files with 20 additions and 11 deletions
+10 -2
View File
@@ -1579,7 +1579,7 @@ function odinSetupDefaultImports(wasmMemoryInterface, consoleElement, memory, ev
}
},
add_event_listener: (id_ptr, id_len, name_ptr, name_len, name_code, data, callback, use_capture) => {
add_event_listener: (id_ptr, id_len, name_ptr, name_len, name_code, data, callback, use_capture, prevent_default, stop_prop, stop_imm_prop) => {
let id = wasmMemoryInterface.loadString(id_ptr, id_len);
let name = wasmMemoryInterface.loadString(name_ptr, name_len);
let element = getElement(id);
@@ -1594,6 +1594,10 @@ function odinSetupDefaultImports(wasmMemoryInterface, consoleElement, memory, ev
event_data.event = e;
event_data.name_code = name_code;
if (prevent_default) e.preventDefault();
if (stop_prop) e.stopPropagation();
if (stop_imm_prop) e.stopImmediatePropagation();
eventQueue.push({event_data: event_data, data: data, callback: callback});
};
wasmMemoryInterface.listenerMap[{data: data, callback: callback}] = listener;
@@ -1601,7 +1605,7 @@ function odinSetupDefaultImports(wasmMemoryInterface, consoleElement, memory, ev
return true;
},
add_window_event_listener: (name_ptr, name_len, name_code, data, callback, use_capture) => {
add_window_event_listener: (name_ptr, name_len, name_code, data, callback, use_capture, prevent_default, stop_prop, stop_imm_prop) => {
let name = wasmMemoryInterface.loadString(name_ptr, name_len);
let element = window;
let listener = (e) => {
@@ -1611,6 +1615,10 @@ function odinSetupDefaultImports(wasmMemoryInterface, consoleElement, memory, ev
event_data.event = e;
event_data.name_code = name_code;
if (prevent_default) e.preventDefault();
if (stop_prop) e.stopPropagation();
if (stop_imm_prop) e.stopImmediatePropagation();
eventQueue.push({event_data: event_data, data: data, callback: callback});
};
wasmMemoryInterface.listenerMap[{data: data, callback: callback}] = listener;