Javascript event.returnValue已弃用。请改用标准的event.preventDefault()
我有这个剧本:Javascript event.returnValue已弃用。请改用标准的event.preventDefault(),javascript,jquery,ajax,Javascript,Jquery,Ajax,我有这个剧本: <script> $(document).ready(function () { $("#changeResumeStatus").click(function () { $.get("{% url 'main:changeResumeStatus' %}", function (data) { if (data['message'] == 'hidden') { $("#resumeSt
<script>
$(document).ready(function () {
$("#changeResumeStatus").click(function () {
$.get("{% url 'main:changeResumeStatus' %}", function (data) {
if (data['message'] == 'hidden') {
$("#resumeStatus").text("скрыто");
} else {
$("#resumeStatus").text("опубликовано");
}
}, "json");
});
});
</script>
$(文档).ready(函数(){
$(“#changeResumeStatus”)。单击(函数(){
$.get(“{%url”main:changeResumeStatus“%}”,函数(数据){
如果(数据['message']=='hidden'){
$(“#简历状态”)。文本(“##ŧŧŧŧŧŧ”);
}否则{
$(“#简历状态”)。文本(“аПббааааааа”;
}
}“json”);
});
});
我在Google Chrome控制台中收到以下错误:
event.returnValue已弃用。请改用标准的event.preventDefault()
我使用的是jQuery v1.10.2,而#changeResumeStatus
是一个
我的脚本怎么了?那是你的问题,不是你的脚本。没什么可担心的。这只是一个警告:您的代码仍然可以工作,但可能在将来无法工作,因为该方法已被弃用。请参阅和
这已经在jQuery1.11中得到了识别和修复(请参阅和)。仅供他人参考,我刚刚收到这封信,发现它是由于。这是为了向后兼容:
if (!event.preventDefault) {
event.preventDefault = function() {
event.returnValue = false; //ie
};
}
如果您使用:
当前版本的Bootstrap(3.0.2)(带有jquery1.10.2和Chrome)似乎也会生成此警告
(顺便说一句,它也在推特上这么做。)
更新
(3.1.0)的当前版本似乎不再生成此警告。我在许多网站上看到此警告。另外,我看到3库也给出了同样的警告。这是从库中生成的警告(无论是jQuery还是YUI)。我发现使用最新版本可以解决此问题:
这是一个警告,因为大多数JavaScript框架(jQuery、Angular、YUI、Bootstrap…)都为最讨厌的旧Internet Explorer提供向后支持,从IE8到IE6:/ 有一天,向后兼容性支持将被取消(对于IE8/7/6,从那时起),您将不再看到此警告(以及其他IEish错误)
这是一个时间问题(现在共享,一旦到达),同时,忽略警告并保持禅:)我认为这不是一个错误,只是一个警告-这一个可以安全忽略。此警告是在最新的chrome更新之后发布的,不要担心,你应该研究转义非ascii字符串。@AlexParakhnevich这样做没有一个令人信服的理由,但一些次要的理由会不时出现。老实说,我的反应是本能的,而不是深思熟虑的。在我现在正在进行的项目中,有一条指导原则,就是不要在文本中使用非ascii字符,这是我在过去制定的,因为一些外部工具(typescript编译器)会被这种输入阻塞。它在大多数情况下都能很好地工作,但有时在出现问题时会占用开发人员大量的时间。无论如何,
.empty().append(“text”)
更好地表达为.text(“text”)
@Gleno感谢您的分享,我怀疑,如果这意味着导致所有使用JQuery<1.11的页面都被破坏,那么任何人都不会很快破坏它。JQuery 2.0.3中也会出现此警告(截至此评论的最新稳定版本),当前的里程碑被设置为2.1,用于修复。使用jQuery1.11会修复问题吗?只是为了澄清jQuery
在单击处理程序中使用return false
是否不推荐?这是Chrome对jQuery库中的一段代码的抱怨?的确如此。Chrome已经弃用了event.returnValue
,它只存在于与IEI向后兼容的情况下。我在一个没有使用或引用Angle的裸体站点中得到了这个错误——可能是间接引用的,但我对此表示怀疑。@B.ClayShannon:这不是一个错误,这是一个警告。这有很大的区别,特别是在我们的环境中。您可以安全地忽略它。@B.ClayShannon如果您包含它,Chrome将解析它,就像它是您提供的脚本一样,并且(正确地)抛出警告。jQuery 2.x.x仅支持IE9及以上版本。如果您想在jQuery中支持IE8,则需要使用版本1.x.x。