Javascript internet explorer上未触发jquery单击事件

Javascript internet explorer上未触发jquery单击事件,javascript,jquery,css,html,Javascript,Jquery,Css,Html,当用户点击标签时,我正在尝试做一些事情 <label class="my-label"> .... 我试过,绑定过,活着,但没有成功 请帮我做这个。 为此花了两天时间,在这里疯了 谢谢。更换 $(".my-label").click 与 您没有使用单击调用该方法。你只是在引用它。我想知道为什么它能在Safari/Chrome中工作:它不应该 编辑:用户编辑问题,提供更多上下文 最有可能的是,它现在不起作用的原因是您缺少一个准备就绪的文档。将代码替换为: $(document).

当用户点击标签时,我正在尝试做一些事情

<label class="my-label"> ....
我试过,绑定过,活着,但没有成功

请帮我做这个。 为此花了两天时间,在这里疯了

谢谢。

更换

$(".my-label").click

您没有使用
单击
调用该方法。你只是在引用它。我想知道为什么它能在Safari/Chrome中工作:它不应该


编辑:用户编辑问题,提供更多上下文

最有可能的是,它现在不起作用的原因是您缺少一个准备就绪的文档。将代码替换为:

$(document).ready(function(){ 

    console.log("document ready!");
    $(".my-label").click(function(){
        console.log("click function!");
    });

});
请报告您在JavaScript控制台中看到的内容

如果它现在可以工作,那么Safari/Chrome之所以可以,是因为在那些浏览器中,代码是在DOM渲染之后执行的。那只是运气。永远不要依赖DOM就绪:始终将引用任何DOM节点的所有代码放在
$(document).ready()调用中


如果这在IE11中仍然不起作用,那么您应该为您的问题提供更多的上下文。例如,
console.log($(“.my label”).length)
返回什么?如果是
0
,则IE11找不到该节点。同样,发生这种情况的唯一原因是DOM还没有准备好,或者代码本身没有被调用。如果在
$(“.my label”)之前出现任何错误,请单击()
,该代码将不会执行。请注意,许多在普通浏览器中被接受的“错误”都不在IE中。如果您不发布在IE11 JavaScript控制台中看到的内容,我认为这是清楚的(因此没有错误),但我不知道您是否检查过,所以我认为这是一种可能性。

您是否在dom就绪回调中设置了单击处理程序?如果不是,则javascript语句可能在DOM中存在的标签之前执行

这是一把小提琴:


这就是我要做的,让事情正常运转。据我所知,对focus()的调用也会导致它失去焦点,而这正是激发IE更改事件的原因

另外,还有一个关于建议的.click()方法的说明。。。虽然这将允许触发事件,以便可以运行代码,但它不会导致失去焦点,因此所选索引和值永远不会更改(至少在我的情况下)。i事件甚至从click事件调用.trigger('change'),试图强制进行更改,虽然事件将触发,但所选选项从未更改

我知道这是一种黑客行为,但在我看来效果相当不错

// IE hack to get change event to fire properly
if ($.browser.msie) {
    $('select').on('mouseover', function (e) {
        $(e.target).focus();
    });
}

你有完整的代码样本吗?下面所有的答案都是正确的,就像其他人指出的那样,仅仅用
click
而不是
click()
不应该在safari或chrome中工作。我的猜测是,你的代码中有一个IE不喜欢的错误,正从其他浏览器的裂缝中溜走……@saturnix:我的错误。请再核对一下这个问题。我肯定用你提到的方法。。。但仍然没有成功。
$(document).ready(function(){ 

    console.log("document ready!");
    $(".my-label").click(function(){
        console.log("click function!");
    });

});
$(document).ready(function() {
    $('.my-label').on('click',function(evt) {
       alert('clicked');
    });
});
// IE hack to get change event to fire properly
if ($.browser.msie) {
    $('select').on('mouseover', function (e) {
        $(e.target).focus();
    });
}