Javascript SharePoint 2007 onchange事件未在ie6中解除绑定
我相信这不是sharepoint 2007的问题,但我宁愿涵盖我的所有基础 我在一家大公司做咨询,为他们的内部网开发sharepoint解决方案。我的任务之一是将sharepoint 2007 listview中的常规下拉列表切换为具有提前键入和筛选功能的列表。所以我选择了jquery组合框 现在,除了ie6之外,这个组合框在任何情况下都可以工作,onchange事件也可以工作。我的过程是:Javascript SharePoint 2007 onchange事件未在ie6中解除绑定,javascript,jquery,sharepoint,sharepoint-2007,internet-explorer-6,Javascript,Jquery,Sharepoint,Sharepoint 2007,Internet Explorer 6,我相信这不是sharepoint 2007的问题,但我宁愿涵盖我的所有基础 我在一家大公司做咨询,为他们的内部网开发sharepoint解决方案。我的任务之一是将sharepoint 2007 listview中的常规下拉列表切换为具有提前键入和筛选功能的列表。所以我选择了jquery组合框 现在,除了ie6之外,这个组合框在任何情况下都可以工作,onchange事件也可以工作。我的过程是: function diidFilterLinkTitleNoMenuOnChange() {
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中删除事件是否有特殊的方法?还是我做错了?这是因为方法是.bind'change'处理程序的快捷方式。和.bind附加事件处理程序,而不是删除或重写
引自第页:
当事件到达元素时,绑定到该事件的所有处理程序
激发元素的类型。如果有多个处理程序
注册后,它们将始终按照注册顺序执行
束缚
用于删除事件处理程序:$'diidFilterLinkTitleNoMenu'。取消绑定'change'