gpt4 book ai didi

javascript - jQuery die() 不起作用

转载 作者:行者123 更新时间:2023-12-02 20:00:41 27 4
gpt4 key购买 nike

自从我创建 HTA 代码以来,我一直使用 IE :(

我们需要将更改事件捕获在 <select> 中元素,但你猜怎么着,IE 不支持该事件。

所以我创造了一种模仿它的方法。与 <input type="text">单击时显示 <select>略低于。那部分工作正常。问题是,我想隐藏select当用户单击 select 外部时。

我试图捕获 click关于body ,第一次工作正常,但第二次就出现 select被隐藏尝试一下。

这里是代码的简化版本:

$('.product').live('click',function(){
// Show the <select id="select"> code goes here

// this is the event to close the select
$('body').die().live('click', function(){ $('#select').fadeOut(250); return;});

// get the click on the select element
$('#select').die().live('click',function(){
// kill the close the select
// THIS IS THE .die() THAT DOES NOT WORK
$('body').die();

});

问题这段代码有问题吗?或者有更好的方法来做到这一点吗?请记住,我一直在使用 IE。

最佳答案

Internet Explorer 7 及更高版本(可能是 6,因为 IE7 主要是带口红的 IE6,但我无法轻松测试)确实支持更改事件。 Here是一个带有非常简单演示的 jsfiddle。

IE确实对事件做了一些奇怪的事情。例如,“change”不会冒泡(至少从 <select> 起,可能还有其他事情),但 jQuery 会为您修补它。此外,复选框和单选按钮还存在一个经典问题,它们在失去焦点之前不会触发“更改”(这使得它基本上毫无用处)。对于这些,我发现“点击”效果很好。

关于javascript - jQuery die() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037511/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com