Javascript jQuery die()不起作用
由于我正在创建HTA代码,我一直使用IE: 我们需要在元素中捕获更改事件,但是猜猜看,IE不支持该事件 所以我创造了一种模仿它的方法。当它被激活时,点击下面的显示。那部分很好用。问题是,我想在用户在select外部单击时隐藏select 我试图抓住身体上的点击,第一次效果很好,但第二次选择被隐藏时,请尝试离开 下面是代码的简化版本:Javascript jQuery die()不起作用,javascript,jquery,hta,Javascript,Jquery,Hta,由于我正在创建HTA代码,我一直使用IE: 我们需要在元素中捕获更改事件,但是猜猜看,IE不支持该事件 所以我创造了一种模仿它的方法。当它被激活时,点击下面的显示。那部分很好用。问题是,我想在用户在select外部单击时隐藏select 我试图抓住身体上的点击,第一次效果很好,但第二次选择被隐藏时,请尝试离开 下面是代码的简化版本: $('.product').live('click',function(){ // Show the <select id="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. 卡住了,为了使骰子正确运作,使用它的选择器必须与最初使用的选择器完全匹配。Live .< /P> < P> Internet Explorer 7和UP,可能是6,因为IE7主要是带有口红的IE6,但是我不能很容易地测试支持更改事件。是一个带有非常简单的演示的JSFIDLE
IE在事件中做了一些奇怪的事情,这绝对是真的。例如,至少在其他方面不会出现变化,但jQuery会为您提供相应的补丁。还有一个经典问题是复选框和单选按钮,它们在失去焦点之前不会触发更改,这使得它们基本上没有用处。对于这些,我发现单击可以很好地工作。Wha已经检查过,请参见示例如果您调用$demo.liveclick,单击即可;然后骰子必须被称为$demo.dieclick,click做这个;而不是去死;尤其是在处理IE兼容性问题时。无论如何,试着使用jQuery1.7和.on和.off,他们说它的IE兼容性在InternetExplorer7和更高版本上有了很大的提高,至少支持更改事件@你能不能把它写进一个答案,这样我就可以投票支持你了。你应得的,我学校。哈哈肯定!等一下。。。