<select onchange="window.location='/staff/add_combo.php?page='+this[this.selectedIndex].value+'&ipp=2';return false" class="paginate">
有没有办法阻止此元素的onchange事件?
答案 0 :(得分:2)
您是想永久或暂时删除处理程序吗?
//grabs first select on page
var mySelect = document.getElementsByTagName('select')[0];
// permanently
mySelect.onchange = function(){};//noop
//temporarily
var toggle = true;
var orig = mySelect.onchange;
mySelect.onchange = function(){
if(toggle) toggle = false;
else orig.call(mySelect);
};
永久版本只是吹灭了现有的处理程序。
临时版本保存原始的onchange处理程序并根据应用程序中的其他状态(在本例中为“toggle”变量)调用它。
答案 1 :(得分:1)
您不能阻止事件在一次性事件中触发,但您可以通过将null
分配给元素的onchange
属性来取消设置:
document.getElementById("mySelect").onchange = null;
答案 2 :(得分:-1)
如果通过阻止你的意思是删除事件监听器,那么是。 只需使用removeEventListener()方法。
document.getElementById(“mySelect”)。removeEventListener('onchange',function(),false);
Any E的答案也应该有效,这是traditional处理它的方式。