升级jQuery至3.1.1后解决JQMIGRATE废弃警告(KendoUI 2018.2.515)
解决jQuery升级后
jQuery.event.props.concat()弃用警告的方案 我之前帮不少项目处理过类似的jQuery升级兼容问题,尤其是和旧版KendoUI搭配的场景,给你几个实用的解决方案:
添加临时兼容补丁:这个是最直接的办法,不用动KendoUI源码。你只需要在加载jQuery Migrate 3.0.0之后、加载KendoUI之前,插入这段代码:
// 兼容旧版代码对jQuery.event.props.concat()的调用 if (!jQuery.event.props) { jQuery.event.props = []; } if (!jQuery.event.props.concat) { jQuery.event.props.concat = function() { return Array.prototype.concat.apply(this, arguments); }; }这段代码的作用是手动恢复
jQuery.event.props数组以及它的concat方法——因为jQuery 3.x里移除了这个内置属性,而旧版KendoUI还在依赖它的调用。这样既能消除控制台警告,也不会影响原有功能。按需补充事件属性:如果后续还遇到和事件属性相关的其他警告,可以手动把KendoUI需要的事件属性添加到
jQuery.event.props里,比如:// 示例:添加常用的鼠标事件属性 jQuery.event.props.push('pageX', 'pageY', 'clientX', 'clientY');不过大部分情况下,上面的
concat补丁就足够覆盖KendoUI的需求了。
需要注意的是,这只是临时的兼容方案。等项目有时间的时候,还是建议逐步升级KendoUI到支持jQuery 3.x的版本,从根源上避免这类兼容问题。
内容的提问来源于stack exchange,提问作者Sai
相关产品推荐
相关产品推荐

