我正在阅读Greg Franko关于'jQuery Best Practices'的博客文章.
在他的早期幻灯片中,他解释了典型/更好/最好的做事方式.
典型(链接)
$("document").ready(function() {
console.log('hello world');
});
Run Code Online (Sandbox Code Playgroud)
要么
$(function() {
console.log('hello world');
});
Run Code Online (Sandbox Code Playgroud)
更好(链接)
(function($, window, document) {
$(function() {
console.log('hello world');
});
}(window.jQuery, window, document));
Run Code Online (Sandbox Code Playgroud)
最好的(链接)
(function(yourcode) {
yourcode(window.jQuery, window, document);
}(function($, window, document) {
$(function() {
console.log('hello world');
});
}));
Run Code Online (Sandbox Code Playgroud)
所以我想我的问题是 - 第三个例子比第二个例子好吗?两者都是IIFE.我看到的唯一区别是#2将jQuery对象(+ window + document)传递到IIFE并运行代码然后#3传递jQuery对象(+ window + document)和 JavaScript代码传入IIFE.有什么好处?
问题如标题中所述,这是我的HTML代码.
<li> <a id="blog-setup" href="https://illinois.edu/toolbox/0.portlet?componentId=13&desktopId=1" aria-describedby="readme">setup</a> </li>
<div id="readme">HELLO WORLD</div>
Run Code Online (Sandbox Code Playgroud)
发生的事情是Jaws声明如下:"链接设置...按下Jaws键,alt键和R读取aria-describedby".我希望Jaws能说"Link setup Hello World".
我在尝试使用以下代码时遇到了问题.它在Firefox,Safari,Chrome和IE 9 + 10中运行完美,但在IE8中运行时会导致页面的其余部分"崩溃".我收到的控制台错误是"类型不匹配",调试器指向IF语句行.我一直在撞墙试图弄明白,但无济于事.有没有人知道这里到底发生了什么?
function writeIframe11092()
{
alert("BEFORE");
document.write('<iframe style=\"position:absolute;left:-40000px;\" src=\"https://mydomain.com/images/close.gif\" ></iframe>');
alert("AFTER");
}
if (window.attachEvent)
window.attachEvent('onload', writeIframe11092() );
else if (window.addEventListener)
window.addEventListener('load', writeIframe11092(),false);
Run Code Online (Sandbox Code Playgroud) 我正在为我们正在开发的应用程序寻找特定的Javascript解决方案.我们实际上曾经拥有它,但我们失去了它(facepalm).发生的事情如下:
我已经在谷歌上进行了各种搜索"Javascript弹出键盘","Javascript国际键盘键盘","虚拟javascript键盘"等,但没有找到任何结果.然后,我记得MooTools和他们所做的惊人工作,并找到了一个类似的虚拟键盘,但不完全是我们想要的.
http://mootools.net/forge/p/accentedkeyboard
不幸的是,它只显示一次字符"a"键入(和显示屏都变音符号的所有变化,上述罢工等)我们需要做的是显示图像一旦点击,ALL显示国际字符的虚拟键盘.
所以,我的团队正在使用HTML5 Boilerplate并且网站已经完成了.我想做一个快速的JavaScript测试,以确保客户端可以添加自己的JavaScript,如果他们愿意的话.我知道在使用HTML5文档类型时不需要脚本标记的type属性,但JavaScript警报在使用时甚至不起作用(这使我感到困惑,因为我在使用type属性时构建了HTML5网站脚本标记.
什么有效:
<script>
alert("HELP");
</script>
Run Code Online (Sandbox Code Playgroud)
什么行不通:
<script type="text/javascript">
alert("HELP");
</script>
Run Code Online (Sandbox Code Playgroud)
谁能解释一下发生了什么?这适用于其他基于HTML5的网站......
***在Ubuntu 12.04上使用Firefox 12进行测试
多谢你们.
PS它不会打破或破坏网站,不是很重要,等等.我只是想知道为什么这个问题存在.
编辑
这是一个工作的公开托管页面的链接.
http://illinois.edu/1500/index.html
为什么它不适用于我当地的盒子(摇头)......?
所以我做了一些测试用新的数据类型很长很长,当我偶然发现了一个小"问题"(例如在C++来底漆第6版).我正在使用climbits库来告诉我长和长支持的最大数量,两者都出现在9223372036854775807.这怎么可能?
#include <iostream>
#include <climits>
int main()
{
std::cout << "int size is " << sizeof(int) << " bytes." << std::endl;
std::cout << "short size is " << sizeof(short) << " bytes." << std::endl;
std::cout << "long size is " << sizeof(long) << " bytes." << std::endl;
std::cout << "long long size is " << sizeof(long long) << " bytes." << std::endl;
std::cout << "Maximum values: " << std::endl;
std::cout << "int: " << …Run Code Online (Sandbox Code Playgroud)