单击选项标签,不能在IE和Chrome上工作。我在用onclick事件中的选项标记select盒、箱(子)<select>
<option onclick="check()">one</option>
<option onclick="check()">two</option>
<option onclick="check()">three</option></select>`onclick事件不在IE和Chrome上运行,但在Firefox中运行得很好,这里我不想使用onchange如果用户再次选择相同的选项,则不会触发事件。例句:假设用户第一次选择“一”下拉列表,我将在处理一些东西之后打开一个弹出窗口,假设用户想要选择相同的“一”下拉列表,它不会触发任何事件。这可以通过选项标签上的onclick事件来解决,但是它不能在IE和Chrome上工作。有这方面的工作吗?
3 回答
青春有我
TA贡献1784条经验 获得超8个赞
<select onchange="valueChanged(this.value); this.selectedindex = -1"> <option style="display: none"></option> <option value="1"> 1 </option> <option value="2"> 2 </option> <option value="3"> 3 </option> <option value="4"> 4 </option></select>
蛊毒传说
TA贡献1895条经验 获得超3个赞
将脚本放在选择的上方, 为SELECT设置onClick和onblur,如代码所示 并自定义检查函数。
<script>
selectHandler = {
clickCount : 0,
action : function(select)
{
selectHandler.clickCount++;
if(selectHandler.clickCount%2 == 0)
{
selectedValue = select.options[select.selectedIndex].value;
selectHandler.check(selectedValue);
}
},
blur : function() // needed for proper behaviour
{
if(selectHandler.clickCount%2 != 0)
{
selectHandler.clickCount--;
}
},
check : function(value)
{
// you can customize this
alert('Changed! -> ' + value);
}
}</script><select onclick="selectHandler.action(this)" onblur="selectHandler.blur()">
<option value="value-1"> 1 </option>
<option value="value-2"> 2 </option>
<option value="value-3"> 3 </option>
<option value="value-4"> 4 </option></select>- 3 回答
- 0 关注
- 362 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消
