jQuery IE9 getAttribute from HTML object element
当页面同时使用jQueryUI的datepicker和uploadify控件时,如果是用IE9浏览器的话,先选日期,再点uploaddify的上传按钮就会报"Missing instance data for this datepicker"错误。
经过调试发现调用堆栈如下:
-$(document).mousedown($.datepicker._checkExternalClick)
|----$.datepicker._checkExternalClick
|--------$.datepicker._getInst
|-----------$.data
|---------------$.acceptData
罪魁祸首是object元素调用getAttribute方法会返回null,而且jQuery Bug Tracker已经有类似的ticket,是由于引用了SWFUpload组件引起的,可惜状态是closed bug: cantfix。
可以添加如下workaround代码,来解决datepicker和SWF object冲突的问题:
if ($.browser.msie && '9.0' === $.browser.version) {
$.datepicker._getInst = function(target) {
try {
if ('object' === target.nodeName.toLowerCase()) {
return false;
}
return $.data(target, 'datepicker');
}
catch (err) {
throw 'Missing instance data for this datepicker';
}
};
}
- jQuery IE9 getAttribute from HTML object element
- Guns N' Roses - Use Your Illusion
- Jorge Bolet - Liszt: Piano Works (9CD Boxset)
- 改变Evernote笔记的背景色
- 我第一次尝试肖像摄影中学到的8条经验
- Android游戏开发入门
- Wagic Card Downloader v0.4
- 入手MTG: M10-心灵至上
- Bryan Adams - Anthology
- Foobar2000 1.0 Customization: DarkOne v2.0 by ~tedgo
- 啥也不说了,直接看图!
- Nat King Cole - The Wonderful World of Nat King Cole
- 超酷的Chrome主题
- Pink Floyd - The Wall
- Anne-Sophie Mutter - Carmen-Fantasie
0 评论:
发表评论