繁体   English   中英

jQuery委托不在IE8及更低版本中触发

[英]JQuery delegate not firing in IE8 and lower

我在下面的代码中设置了全局变量,将元素设置为这些变量,然后在下拉列表中分配了一个委托更改事件。

在除IE8及更低版本之外的所有浏览器中都会触发change事件。 不太担心IE7及更低版本。

任何帮助表示赞赏吗?

$(function () {
    initialisePage();
});

function initialisePage() {
    window.portfolioGroupFilters = $("#portfolioGroupFilters");
    window.portfolioGroupsList = $("#portfolioGroupsList");
    window.portfolioGroupAccounts = $("#portfolioGroupAccounts");
    window.coverSheetsList = $("#coverSheetsList");
    window.coverSheetsPanel = $("#coverSheetsPanel");
    window.reportGroupsList = $("#reportGroupsList");
    window.reportGroupPanel = $("#reportGroupsPanel");
    window.searchResults = $("#searchResults");
    setportfolioGroupFiltersdelegates();
}

function setportfolioGroupFiltersdelegates() {
    portfolioGroupFilters.delegate(".availableFilters", "change", function () {});
}

如果您使用的是jQuery 1.7或更高版本,最好的解决方案是使用on()而不是delegate()

您使用on()代码将是:

portfolioGroupFilters.on("change", ".availableFilters", function () {});

另外,很高兴知道不推荐使用live()http : //api.jquery.com/live/

从jQuery 1.7开始,不推荐使用.live()方法。 使用.on()附加事件处理程序。 较旧版本的jQuery的用户应优先使用.delegate()而不是.live()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM