jQuery on click事件在Chrome中不起作用

jQuery on click事件在Chrome中不起作用,jquery,google-chrome,Jquery,Google Chrome,我有一个函数,我想在单击下拉列表id=ddlTest列表中除第一个之外的项目时调用该函数。下面是我的代码。它在IE中运行良好,但在Chrome中不起作用,你知道为什么吗 jQuery('#ddlTest').on('click', 'option:gt(0)', function() { alert('test'); //never runs }); 更新:我得到了下面的工作,但它很容易被打破,如果用户点击DDL,然后关闭它 var ddlCounter = 1; jQuery(fun

我有一个函数,我想在单击下拉列表id=ddlTest列表中除第一个之外的项目时调用该函数。下面是我的代码。它在IE中运行良好,但在Chrome中不起作用,你知道为什么吗

jQuery('#ddlTest').on('click', 'option:gt(0)', function() {
    alert('test'); //never runs
});
更新:我得到了下面的工作,但它很容易被打破,如果用户点击DDL,然后关闭它

var ddlCounter = 1;
jQuery(function () {
    jQuery("#ddlTest").on('click', function () {
        if (ddlCounter % 2 === 0) {
            if (this.selectedIndex > 0) {
                showHideFunction();
            }
        }
        ddlCounter += 1;
    });
});

无法在select中的特定选项元素上可靠地添加单击事件

更好的替代方法是在select上放置更改事件处理程序,然后检查所选选项的索引:

$'ddlTest'。在“更改”、“选择”函数上{ var index=$this.find'option:selected'。索引; 如果索引==0{ log“您选择了第一个选项”; }否则{ 日志“您没有选择第一个选项”; } }; 请选择 1. 2. 3. 4. 5. 使用Javascript的属性会更好更快

$("#ddlTest").on('change', function() {
    if (this.selectedIndex > 0) {
        alert("Greater than zero");
    } else {
        alert("Zero");
    }
});

查看此处:

当某些东西在IE中工作而不是在Chrome中工作时,您知道您遇到了严重的问题。你在Chrome的控制台上有什么错误?我知道!我没有错误。选择选项没有问题either@RoryMcCrossan啊,这是真的-我整天都在使用动态DOM元素-mind仍然在那里xD将删除我的评论:谢谢你的回复。我最初有一个更改事件,但我不得不更改它,因为即使重新选择DDL中的相同选项,也需要运行相同的代码。在这种情况下,您可以使用与上面相同的逻辑,但使用“单击”而不是“更改”,但请注意,这违反了所有辅助功能指南“我的页面”上的下拉列表根据所选内容显示和隐藏其他div。这是第一次工作,但当我返回重新选择一个不同的选项时,它会在单击框中的箭头时触发相同的代码,因为索引仍然是sameThanks。我希望避免更改,因为在重新创建相同的DDL项时需要运行相同的代码-selected@cooper,可以使用mouseup而不是change then.plunk with mouseup:但是,即使单击下拉箭头,代码也会运行。有没有办法避免这种情况?我只希望在单击DDL中第一个选项之外的选项时调用我必须调用的函数。如果selectedIndex=0,则可以返回。我已经更新了plunk。