大佬教程收集整理的这篇文章主要介绍了jQuery断言支持/防御性编程?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如我可能会有这样一个简单的语句:
$("#btnSignup").click(function() { return validateForm(); );
现在有很多原因,为什么$(“#btnSignup”)可能不会完全返回1项:
>你错误地键入了按钮的id名称
有人把错误的名字重命名
>它不存在于页面上
>有两个元素与该id的错误
>您正在使用ASP.NET MVC,您不小心使用HtmlHelper.button(…)生成了按钮的HTML代替HtmlHelper.Submit()。 Button(…)方法不会为按钮元素创建ID。
现在在这种情况下(和许多实例),我的应用程序根本不工作,除非从选择器返回一个项目。所以我总是想要被告知$(“@#btnSignup”)不会完全返回1个项目。那我该怎么办呢?我很好,如果这是一个例外或者最好是一个警报框 – 所以如果我没有运行在一个调试器,那么我可以被告知。
我正在寻找这样的语法,这与.NET的Single()
扩展方法的功能相似。
$("#btnSignup").assertSingle().click(function() { return validateForm(); ); or $("#btnSignup").assertSize(1).click(function() { return validateForm(); );
我个人认为这个代码总是很好运行,告诉谁在那里有一个问题。它显然不是performance issue运行这个额外的代码永远。在这种情况下,如果#btnSignup不存在,我的代码将被破坏。
我相信这个问题已经被打死了,有许多解决方案 – 但有人可以指出我们中的一些吗?
我没有看到任何内置的jQuery,并会想知道最好的插件是什么。我更希望在页面上有一些可以继续“看”我的东西,并告诉我,如果这是一个问题。我甚至不会反对对错误报告服务进行的AJAX调用。
$.fn.assertSize = function(sizE) { if (this.length != sizE) { alert("Expected " + size + " elements,but got " + this.length + "."); // or whatever,maybe use console.log to be more unobtrusive } return this; };
用法与您在问题中提出的一样。
$("#btnSignup").assertSize(1).click(function() { return validateForm(); );
请注意,在其当前形式中,即使断言失败,函数也会成功返回。你所链接的任何东西仍然被执行。使用return false;而不是返回这个;停止进一步执行链。
以上是大佬教程为你收集整理的jQuery断言支持/防御性编程?全部内容,希望文章能够帮你解决jQuery断言支持/防御性编程?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。