添加选项以进行选择时,Jquery off()和on()

时间:2016-06-22 10:40:25

标签: javascript jquery events select

当我为选择元素添加dinamically选项时,我遇到了问题。 我只在添加选项后注册onChange事件,但无论如何都会触发该事件。 我可以阻止这种行为吗?

$.each(this.formDependentGroupData, function (index, data) {
            el = $("*[dependent-group='" + data.dependentGroup + "']");


            el.off('change',function (e) { //** this one

                alert('ofchange');
                e.stopImmediatePropagation();
                if ($(this).val()) {
                    obj.resetLists($('#' + obj.tableId + "_editorForm"), $(this));
                    obj.dependentLists($(this), $(this).val());
                } else {
                    obj.resetLists($('#' + obj.tableId + "_editorForm"), $(this));
                }
            });
            el.append(data.options);

            if (data.val){
                el.val(data.val);


                  el.on('change',function (e) { //** this one

                    alert('change');
                    e.stopImmediatePropagation();
                    if ($(this).val()) {
                        obj.resetLists($('#' + obj.tableId + "_editorForm"), $(this));
                        obj.dependentLists($(this), $(this).val());
                    } else {
                        obj.resetLists($('#' + obj.tableId + "_editorForm"), $(this));
                    }
                });
            }
        });

这会添加选项el.append(data.options);并且事件稍后会被注册,但会被触发。

提前致谢

0 个答案:

没有答案