Javascript动态OnChange事件

Javascript动态OnChange事件,javascript,html,Javascript,Html,我正在尝试向HTML选择对象动态添加一个on change事件。我似乎无法让它工作。我需要这个函数来调用dropDownChange并传递两个参数,this和nextDepth var nextDepth = (int)...... var selectBox = ...... selectBox.onchange += function(nextDepth){dropDownChange(this, nextDepth);}; 我真的不知道如何解决这个问题。。。我想这会管

我正在尝试向HTML选择对象动态添加一个on change事件。我似乎无法让它工作。我需要这个函数来调用dropDownChange并传递两个参数,this和nextDepth

   var nextDepth = (int)......
   var selectBox = ......
   selectBox.onchange += function(nextDepth){dropDownChange(this, nextDepth);}; 
我真的不知道如何解决这个问题。。。我想这会管用的。非常感谢您的任何帮助


谢谢

我假设您正在寻找一种方法来传递与当前正在执行的对象或命名空间相关的
。为了表达这一点,下面的代码示例使用匿名函数,其中
this
存储到变量
me
。然后,当
select
的更改事件触发时,将调用自定义函数,传入两个指定的变量

(function() {
    var me = this;
    var selectBox = document.getElementById("selectBox");
    var nextDepth = 2;

    selectBox.onchange = function() {
        dropDownChange(me, nextDepth);
    };
})();

每次调用“changeonchange”时,您都可以获得有关事件的更多信息。创建一个新的作用域来保存本地变量,并且该作用域随新的onchange处理程序一起传送。

您可以发布html和真实的JavaScript吗?省略号不能帮助我理解你想做什么,或者你值得做什么=/格雷格:谢谢你的回复,我实际上是想把它作为指向选择框本身的指针来传递。@Dave:传递一个指向DOM对象的函数指针听起来。。。好。。。这对我来说毫无意义。我的意思是在选择框的安装中。当它调用dropDownChange时,它将传递一个指向自身的指针和nextDepth的整数值
this
关键字将指向onchange函数中的selectBox DomeElement。它应该是
dropDownChange.call(this,nextDepth)。不需要将上下文作为参数传递。Prusse,变量nextDepth是在函数中本地声明的整数,该函数将更改选择框的on change事件。
function changeonchange(){
    var selectBox = document.getElementById("selectBox");
    var nextDepth = getIntFromSomeWhere();

    selectBox.onchange = function() {
        var targ;
        if (!e) var e = window.event;
        if (e.target) targ = e.target;
        else if (e.srcElement) targ = e.srcElement;
        if (targ.nodeType == 3) // defeat Safari bug
            targ = targ.parentNode;
        dropDownChange(targ, nextDepth);
    };
}