Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在IE8及更低版本中未触发JQuery委托_Javascript_Jquery - Fatal编程技术网

Javascript 在IE8及更低版本中未触发JQuery委托

Javascript 在IE8及更低版本中未触发JQuery委托,javascript,jquery,Javascript,Jquery,我在下面的代码中设置了全局变量,将元素设置为这些变量,然后在下拉列表中分配一个委托更改事件 除了IE8和更低版本之外,所有浏览器都会触发change事件。不太在意IE7和更低版本 感谢你的帮助吗 $(function () { initialisePage(); }); function initialisePage() { window.portfolioGroupFilters = $("#portfolioGroupFilters"); window.portfo

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

除了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()

您使用()上的
代码将是:

portfolioGroupFilters.on("change", ".availableFilters", function () {});
另外,最好知道
live()
已被弃用:

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


您使用的是哪个版本的Jquery?如果您使用的是较新版本的Jquery(大于1.7)-请切换到on(),使用1.4.2版尝试使用live()而不是delegate或.on()。已在()和live()上试用,但均无效。强烈建议使用更新版本;1.4现在已经相当旧了。目前无法升级jQuery。@ USER885666——您可能想考虑使用。