后花院 | 静心思考

敦兮其若朴,旷兮其若谷

场景描述:有时候下拉框选择时,如果值更改了,我们可以直接用change事件被触发,进行下一步操作。但存在一个问题就是,我这次选择了和之前相同的option项,因为值没有改变,所以无法触发change事件,以下方法可以实现选择相同值也触发change事件。

var id = document.getElementById("branchs");
id.addEventListener('change',function(){
    //do something
});//单一添加下拉改变事件
id.onmousedown = function(){//当按下鼠标按钮的时候
    this.sindex = this.selectedIndex;//把当前选中的值得索引赋给下拉选中的索引
    this.selectedIndex = -1;//把下拉选中的索引改变为-1,也就是没有!
}
id.onmouseout = function(){//当鼠标移开的时候
    var index = id.selectedIndex;//获取下拉选中的索引
    if(index == -1){//如果为-1,就是根本没有选
        this.selectedIndex = this.sindex;//就把下拉选中的索引改变成之前选中的值得索引,就默认选择的是之前选中的值
    }

}



摘自:http://blog.csdn.net/sunshinezx8023/article/details/51076204

评论

© 后花院 | 静心思考 | Powered by EMLOG | Theme by NIMA

友情链接:Nutcracker