fix event attach too early crashing
This commit is contained in:
@@ -367,6 +367,18 @@ func register_dom_node(element: HTMLElement, node) -> void:
|
|||||||
var element_id = element.get_id()
|
var element_id = element.get_id()
|
||||||
if element_id.length() > 0:
|
if element_id.length() > 0:
|
||||||
parse_result.dom_nodes[element_id] = node
|
parse_result.dom_nodes[element_id] = node
|
||||||
|
else:
|
||||||
|
var temp_key = "_element_" + str(element.get_instance_id())
|
||||||
|
parse_result.dom_nodes[temp_key] = node
|
||||||
|
|
||||||
|
node.set_meta("html_element", element)
|
||||||
|
|
||||||
|
func update_dom_node_id(element: HTMLElement, new_id: String) -> void:
|
||||||
|
var temp_key = "_element_" + str(element.get_instance_id())
|
||||||
|
if parse_result.dom_nodes.has(temp_key):
|
||||||
|
var node = parse_result.dom_nodes[temp_key]
|
||||||
|
parse_result.dom_nodes.erase(temp_key)
|
||||||
|
parse_result.dom_nodes[new_id] = node
|
||||||
|
|
||||||
func find_first(tag: String, attribute: String = "") -> HTMLElement:
|
func find_first(tag: String, attribute: String = "") -> HTMLElement:
|
||||||
var results = find_all(tag, attribute)
|
var results = find_all(tag, attribute)
|
||||||
|
|||||||
@@ -583,6 +583,9 @@ static func create_element_wrapper(vm: LuauVM, element: HTMLParser.HTMLElement,
|
|||||||
if element_id.is_empty():
|
if element_id.is_empty():
|
||||||
element_id = lua_api.get_or_assign_element_id(element)
|
element_id = lua_api.get_or_assign_element_id(element)
|
||||||
element.set_attribute("id", element_id)
|
element.set_attribute("id", element_id)
|
||||||
|
|
||||||
|
# Update the DOM node registration with the new ID
|
||||||
|
lua_api.dom_parser.update_dom_node_id(element, element_id)
|
||||||
|
|
||||||
vm.lua_pushstring(element_id)
|
vm.lua_pushstring(element_id)
|
||||||
vm.lua_setfield(-2, "_element_id")
|
vm.lua_setfield(-2, "_element_id")
|
||||||
|
|||||||
Reference in New Issue
Block a user