Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当选择框选项具有焦点时,不会触发Javascript事件_Javascript - Fatal编程技术网

当选择框选项具有焦点时,不会触发Javascript事件

当选择框选项具有焦点时,不会触发Javascript事件,javascript,Javascript,当选择框选项具有焦点时,我试图让写入div发生一些事情。从JSFIDLE代码中,您可以看到我已经让它在实际操作之后工作了——也就是说,一旦选择了选项,鼠标移回现在关闭的选择框。盒子打开时,我如何让它工作 如果有关系,我将另一个函数绑定到同一个元素,即在“更改”事件中触发的选择框。我不知道这是不是问题所在 HTML: 我认为您的问题在未显示的onchange事件中。我将addEventListener更改为change vs mouseover,该示例运行良好。我不确定你还需要其他onchange

当选择框选项具有焦点时,我试图让写入div发生一些事情。从JSFIDLE代码中,您可以看到我已经让它在实际操作之后工作了——也就是说,一旦选择了选项,鼠标移回现在关闭的选择框。盒子打开时,我如何让它工作

如果有关系,我将另一个函数绑定到同一个元素,即在“更改”事件中触发的选择框。我不知道这是不是问题所在

HTML:


我认为您的问题在未显示的onchange事件中。我将addEventListener更改为change vs mouseover,该示例运行良好。我不确定你还需要其他onchange活动做什么,但也许你可以将它们结合起来

JavaScript:


选项元素并不始终支持鼠标悬停事件。但也有一些解决办法:啊哈!线索。我的代码在FF中工作,但在Chrome或IE中不工作。我将调查解决方法。谢谢Zentoaku,谢谢你的回复。你对我的代码的编辑确实有效,但这不是我想要的。是我的错。我想我没有很好地解释这个问题。我所追求的结果类似于工具提示。当我的站点的用户将鼠标悬停在一个选择框选项上时,我想向他们展示代码中提示div中的一些文本,我意识到我可以将title属性附加到该选项以实现同样的效果。或者使用qtip或Jquery工具提示之类的插件。如果我不能让自己的代码正常工作,我可能最终会这样做,但我很确定,这是不必要的,因为这里有这么多的专业知识。再次感谢。
<div id="Hint"></div>
<div id='select-container'>
    <select name="parent_selection" id="parent_selection">
        <option selected="selected">-- Select 1st option --</option>
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3">Option 3</option>
    </select>
    <select name="child_selection" id="child_selection">
        <option value="">-- Select 2nd option --</option>
    </select>
</div>
//Display hint for hovered selection in 1st dropdown
var elSelect_container, elHint; // Declare variables

elAppSelected = document.getElementById('parent_selection');
elHint = document.getElementById('Hint');

function Hint() {
    var elAppSelected = this.options[this.selectedIndex].value;

    if (elAppSelected === 'option1') {
        elHint.innerHTML = 'Good choice';
    }
    if (elAppSelected === 'option2') {
        elHint.innerHTML = 'Better choice';
    }
    if (elAppSelected === 'option3') {
        elHint.innerHTML = 'Best Choice!';
    }
}
    //Create event listener: mouseover calls Hint()
    elAppSelected.addEventListener('mouseover', Hint, false);
//Display hint for hovered selection in 1st dropdown
var elSelect_container, elHint; // Declare variables

elAppSelected = document.getElementById('parent_selection');
elHint = document.getElementById('Hint');

function Hint() {
    var elAppSelected = this.options[this.selectedIndex].value;

    if (elAppSelected === 'option1') {
        elHint.innerHTML = 'Good choice';
    }
    if (elAppSelected === 'option2') {
        elHint.innerHTML = 'Better choice';
    }
    if (elAppSelected === 'option3') {
        elHint.innerHTML = 'Best Choice!';
    }
}
    //Create event listener: mouseover calls Hint()
    elAppSelected.addEventListener('change', Hint, false);         
  //elAppSelected.addEventListener('mouseover', Hint, false);