我相信,这不是一个共享点2007年问题,但ID掩盖了我所有的基础。SharePoint 2007 onchange事件不解除绑定在ie6
我正在一家大型公司咨询,为他们的Intranet开发一个共享点解决方案。我的任务之一是将sharepoint 2007 listview中的常规下拉列表与提前键入并过滤的内容进行切换。所以我选择了一个jQuery组合框。
现在,除ie6以外的所有组合框都可以工作,而onchange事件也可以工作。我的过程是这样的:
function diidFilterLinkTitleNoMenuOnChange()
{
FilterField("{9232EB4D-2E5D-40D3-A1C0-818CC21AC839}","LinkTitleNoMenu",this._selOption.value, this.selectedIndex);
}
$(document).ready(function(){
window.dhx_globalImgPath='../_layouts/Intranet.Portal.Custom/PeopleChangesFiles/imgs/';
var y = document.getElementById('diidFilterLinkTitleNoMenu');
if(y != null)
{
$('#diidFilterLinkTitleNoMenu').change(function(){}).attr('onchange',function(){});
var z = dhtmlXComboFromSelect('diidFilterLinkTitleNoMenu');
z.enableFilteringMode(true);
z.attachEvent("onchange",diidFilterLinkTitleNoMenuOnChange);
y.parentNode.removeChild(y);
}
})
打开选择列表进入一个组合框,然后重新分配一个不同的onchange事件之前,我删除当前onchange事件。
发生了什么,据我可以告诉ie6,是旧的onchange事件仍然存在,仍然附加,并先发射,因为它打破了代码,我的事件不运行。
在ie6中删除事件有特殊的方法吗?或者我做错了什么?