使用 jQuery 1.7.2。使用早于 1.5.1 的版本进行测试。结果相同。
在小于 9 的 FF 和 IE 中,它可以正常返回 DOM 元素的预期 jQuery 对象。但是,在其他所有内容中,它都会返回 DOM 元素的 jQuery 对象的 jQuery 对象。由于 jQuery 中的那些函数最终期望传递的元素是 DOM 元素(我做了很多跟踪),因此这对任何试图获取宽度或高度的东西都产生了影响。另外,我以前从未遇到过这个问题。这是一切都出错的网站。如果您想查看它的实际效果,我还没有修复上一个和下一个按钮。它应该调用click()
下一个播放列表元素。不是因为这个问题。
代码取自MediaElementJS。
t.controls = t.container.find('.mejs-controls');
t.layers = t.container.find('.mejs-layers');
我最终想出的解决方法。
if(!mf.isFirefox && !(/MSIE [876]/.test(navigator.userAgent))){
t.controls = t.container.find('.mejs-controls').get(0);
t.layers = t.container.find('.mejs-layers').get(0);
}else{
t.controls = t.container.find('.mejs-controls');
t.layers = t.container.find('.mejs-layers');
}
现在,为什么在上帝的绿色地球上它在新浏览器上很糟糕,除了 FF?
如果要设置断点,请使用以下行:
- jquery+mep.js (以前这里是捆绑jQuery的,拿出来测试一下)
- 下一个:4595
- 上一个:4600
- jquery-1.7.2.js
- jQuery.next(): 5582
- jQuery.prev(): 5585
- jQuery.nth(): 5666
更新
其他页面似乎不受影响;像http://www.commercialsonhold.com/messagesamples/aesthetics.htm。我开始认为页面上的其他东西正在与 jQuery 混淆。该网站是Joomla!我经常在 Joomla 上使用 MooTools!但是,通常是 jQuery 根本不工作,而不仅仅是一个功能异常。
更新
jsFiddle:http: //jsfiddle.net/h5ahY/4/