未捕获的TypeError:无法读取HTMLFormElement.onmouseover

时间:2019-03-09 15:05:33

标签: javascript forms smf-forum

我正在使用以下代码段:

onmouseover="this.title=this.options[this.selectedIndex].title"

以便我可以在下拉菜单文本中添加 title 标签。

<form name="searchform" onmouseover="this.title=this.options[this.selectedIndex].title" onsubmit="return doSearch();" accept-charset="', $context['character_set'], '">
<input class="search_input" type="text" name="search" value="" />
<input class="search_button" type="submit" name="submit" value="" />
<select class="search_select" name="sengines" onchange="return saveOption();">
<option value="?action=search2;search=" title="Full forum search">Forum</option>

使用浏览器工具检查时出现的错误是

Uncaught TypeError: Cannot read property 'undefined' of undefined at HTMLFormElement.onmouseover 

1 个答案:

答案 0 :(得分:0)

在这种情况下,您需要绑定事件监听器的功能

<form name="searchform" onmouseover="function(this)" onsubmit="return doSearch();" accept-charset="', $context['character_set'], '">

这意味着当前事件的参数将传递当前标签/元素

 onmouseover="function(this)"

您可以将事件添加到所需的元素中,或者像您一样将其添加到子对象中

this.options[this.selectedIndex].title