jQuery 1.8.1 - live, livequery, on + change 不工作
Posted
技术标签:
【中文标题】jQuery 1.8.1 - live, livequery, on + change 不工作【英文标题】:jQuery 1.8.1 - live, livequery, on + change not working 【发布时间】:2012-09-06 23:46:05 【问题描述】:我的代码是:
jQuery('#s_valor').on('change', function ()
alert('Help mee!!');
);
“#s_valor”已加载 (jQuery.load),这适用于 Opera,但不适用于 Firefox 15。我使用的是 Ubuntu,我尝试过 live()、on() 和 livequery(),没有人在 Firefox 15 上工作过。
有人给我小费吗? (对不起我的英语不好,我是巴西人)
【问题讨论】:
... 什么是“#s_valor”,单选按钮?然后您需要使用“点击”而不是更改。 【参考方案1】:当您动态加载元素时,您需要将.on()
与 DOM 中已有的元素一起使用。通常最坏的情况是身体元素。例如:
jQuery('body').on('change', '#s_valor', function ()
alert('Help mee!!');
);
【讨论】:
【参考方案2】:您是否将其附在文档中。准备功能.. 还要在其中放置一个警报并检查 jQuery 文件是否与您的页面正确关联..
$(function()
jQuery('#s_valor').on('change', function ()
alert('Help mee!!');
);
);
【讨论】:
代码在正确的位置...我还有其他功能可以使用,只有这个事件不起作用... #s_valor 元素到底是什么 "#s_valor" 是输入文本元素 那么为什么不在元素创建后立即绑定事件呢。看起来你甚至在元素在标记中可用之前就绑定了事件【参考方案3】:$(document).on('click', 'p', $.noop);
甚至
$(document).delegate('p', 'click', $.noop);
http://jsperf.com/jquery-live-vs-delegate-vs-on/33
【讨论】:
以上是关于jQuery 1.8.1 - live, livequery, on + change 不工作的主要内容,如果未能解决你的问题,请参考以下文章