小编Šim*_*das的帖子

这个JavaScript模式有什么用?

我看到了这种模式:

Money = (function() {
    function Money(rawString) {
        this.cents = this.parseCents(rawString);
    }
});
Run Code Online (Sandbox Code Playgroud)

在这个CoffeeScript截屏预览中.(截屏视频的主页在这里.)

现在,我不明白这种模式.有一个Money包含Money函数的函数.那是什么意思?

有人能解释一下吗

javascript coffeescript

27
推荐指数
2
解决办法
1179
查看次数

JavaScript中的变量阴影

下面我们有一个IIFE(像任何函数一样)创建一个局部范围.在该范围内有一个parseInt功能.现在,由于浏览器中已经存在具有该名称的全局parseInt函数,因此本地函数将掩盖全局函数 - 在IIFE内部,任何调用都parseInt将调用本地函数,而不是全局函数.(仍然可以引用全局函数window.parseInt.)

parseInt('123', 10); // the browser function is called

(function() {

    function parseInt() { return 'overshadowed'; }

    parseInt('123', 10); // the local function is called

})();

parseInt('123', 10); // the browser function is called
Run Code Online (Sandbox Code Playgroud)

是否有法律上的(ECMAScript规范)或事实(普通)名称?掩盖?超载?

javascript scope iife

26
推荐指数
2
解决办法
1万
查看次数

JavaScript,将对象转换为数组

我有一个对象:

var obj = {
    "Mike": 24,
    "Peter": 23,
    "Simon": 33,
    "Tom": 12,
    "Frank": 31
};
Run Code Online (Sandbox Code Playgroud)

我想创建一个包含对象值的数组.密钥(密钥名称)可以忽略不计:

[24, 23, 33, 12, 31]
Run Code Online (Sandbox Code Playgroud)

值的顺序并不重要!

一个解决方案(显然)将有一个函数,它接受值并将它们放入一个数组:

var arr = valuesToArray(obj); 
Run Code Online (Sandbox Code Playgroud)

我会接受这样的功能作为答案.但是,如果有一个能够做到这一点的API函数(ECMAScript,jQuery,特定于浏览器......),我会更高兴.有这样的事吗?

javascript jquery

25
推荐指数
4
解决办法
3万
查看次数

选择文件后立即POST

我有以下HTML代码

<form action="/script/upload_key.py" method="POST" enctype="multipart/form-data"> 
    Key filename: <input name="file_1" type="file"> 
    <input name="submit" type="submit"> 
</form> 
Run Code Online (Sandbox Code Playgroud)

这给了我以下的东西.

替代文字

我在想

  1. 我如何使用JavaScript,以消除Submit按钮的需要.这意味着,一旦我Choose File,所选文件将立即上传?
  2. 如何确保显示所选文件名的字段足够长,以便...不会显示?

html javascript

25
推荐指数
1
解决办法
3万
查看次数

子元素不能覆盖CSS text-decoration属性

可能重复:
如何使CSS文本修饰覆盖工作?

看看这个简单的例子:

<a href="#"> A <span>red</span> anchor </a>
Run Code Online (Sandbox Code Playgroud)
a {
    color:blue;
    font-family:Times New Roman;
    text-decoration:underline; 
}

span {
    color:red;
    font-family:Arial;
    text-decoration:none;   
}
Run Code Online (Sandbox Code Playgroud)

现场演示: http : //jsfiddle.net/5t9sV/

正如你在上的jsfiddle的演示中看到,SPAN元素覆盖colorfont-family它的祖先定位元素的属性值.但是,由于text-decoration某种原因,该物业不会被覆盖.

我假设一些CSS属性可以被祖先元素覆盖,而其他一些CSS属性则不能.

是这样吗?如果是,我怎么知道哪些可以被覆盖?

css

20
推荐指数
1
解决办法
8431
查看次数

如何检索DOM Text节点的文本?

对于DOM中的给定Text节点,可以使用这些属性之一来检索其文本:

  • 的textContent
  • 数据
  • 的nodeValue
  • wholeText

但是哪一个使用?=哪一个是最可靠的跨浏览器...

(如果多个属性100%可靠且跨浏览器,那么哪一个最合适?)


更新:

实际上,textContent它不是一个选项,因为它返回文本节点和所有兄弟文本节点的连接文本...

javascript dom

19
推荐指数
1
解决办法
3498
查看次数

为什么.tagName DOM属性返回大写值?

例如,如果我们有

<html>
    <head>
        <title>FooBar</title>
    </head>
    <body></body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我们这样做document.getElementByTagName("title").TagName,那么我们将TITLE(大写).虽然html标准建议用小写编写html标签.

我知道两者之间没有关系,但这仍然没有意义.

DOM是否应该以大写形式返回标记名称?

html standards dom tagname

19
推荐指数
1
解决办法
3526
查看次数

如何让浏览器(IE和Chrome)在脚本之前请求图像?

注意:如果您是第一次阅读此内容,您可以直接跳到更新,因为它可以更准确地解决问题.

所以我有了一个网页.

在头部我有一个CSS背景图像:

<style>
    #foo { background-image:url(foo.gif); }
</style>
Run Code Online (Sandbox Code Playgroud)

在页面底部我加载我的脚本:

<script src="jquery.js"></script>
<script src="analytics.js"></script>
Run Code Online (Sandbox Code Playgroud)

由于脚本位于页面底部,而CSS位于页面顶部,因此我假设浏览器将首先加载图像.但是,情况似乎并非如此.

这是Chrome开发工具的屏幕截图:

http://www.vidasp.net/media/cssimg-vs-script.png

如您所见,图像在脚本之后加载.(垂直蓝线是页面加载 DOMContentLoaded事件.巨大的45ms差距是Chrome分析jQuery源代码的时间.)

现在,我的第一个问题是:

这是浏览器中的标准行为吗?在页面上的所有脚本之后是否总是加载CSS背景图像?

如果是,我如何确保在脚本之前加载这些图像?这个问题有一个简单方便的解决方案吗?


UPDATE

我做了一个测试用例.这是HTML源代码:

<!DOCTYPE html>
<html>
<head>
    <style> body { background-image: url(image1.jpg) } </style>
</head>
<body>
    <div> <img src="image2.jpg"> </div>
    <script src="http://ajax.googleapis.com/ajax/.../jquery.min.js"></script>
    <script src="http://vidasp.net/js/tablesorter.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如您所见,我有一个CSS背景图像,一个常规图像和两个脚本.现在的结果是:


INTERNET EXPLORER(9 beta)

http://www.vidasp.net/media/loadorder-results/ie2.png
http://www.vidasp.net/media/loadorder-results/ie1.png

Internet Explorer首先请求常规映像,然后是两个脚本,最后CSS映像.


FIREFOX(3.6)

http://www.vidasp.net/media/loadorder-results/firefox2.png
http://www.vidasp.net/media/loadorder-results/firefox1.png

Firefox正在做得对.所有资源都按照它们在HTML源代码中出现的顺序进行请求.


CHROME(最新稳定)

http://www.vidasp.net/media/loadorder-results/chrome2.png
http://www.vidasp.net/media/loadorder-results/chrome1.png

Chrome演示了让我首先撰写此问题的问题.在图像之前请求脚本.


OPERA(11)

http://www.vidasp.net/media/loadorder-results/opera1.png
http://www.vidasp.net/media/loadorder-results/opera2.png

像Firefox一样,Opera也是如此.:D


总结一下:

  • Firefox和Opera正在请求源代码中出现的资源.

例外,所以这个规则: …

javascript css browser internet-explorer google-chrome

18
推荐指数
1
解决办法
3401
查看次数

如何用箭头键移动div

我想使用jQuery用箭头键移动div.所以正确,左,下,上.

找到了我想在这里完成的演示

我希望能够在另一个div中移动div.

如何才能做到这一点?

html javascript jquery events

18
推荐指数
2
解决办法
4万
查看次数

cursor:pointer属性不适用于Webkit浏览器中的文件上载按钮

我有CSS代码,它不适用于Safarikit浏览器,如safari和chrome

如果你想在这里的实例,它是http://jsfiddle.net/mnjKX/1/

我有这个CSS代码

.file-wrapper {
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    position: relative;
}
.file-wrapper input {
    cursor: pointer;
    font-size: 100px;
    height: 100%;
    filter: alpha(opacity=1);
    -moz-opacity: 0.01;
    opacity: 0.01;
    position: absolute;
    right: 0;
    top: 0;
}
.file-wrapper .button {
    background: #79130e;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 11px;
    font-weight: bold;
    margin-right: 5px;
    padding: 4px 18px;
    text-transform: uppercase;
}
Run Code Online (Sandbox Code Playgroud)

这个HTML代码:

<span class="file-wrapper">
   <input type="file" name="photo" id="photo" />
   <span class="button">Choose a Photo</span>
</span>
Run Code Online (Sandbox Code Playgroud)

这段代码显示隐藏的输入文件标签,这里的问题是游标:指针在webkit浏览器上不起作用, …

html css webkit cursor

18
推荐指数
2
解决办法
2万
查看次数