小编use*_*586的帖子

如何为HTML5音频元素制作加载栏?

我正在尝试为HTML5音频元素制作加载栏(显示加载/缓冲的百分比).

对于视频标签,可以使用以下方法进行计算:

video.buffered.end(0) / video.duration
Run Code Online (Sandbox Code Playgroud)

但我无法使用音频标签.它只返回一个修复值.

任何的想法?

谢谢!

javascript html5 html5-audio

7
推荐指数
2
解决办法
5208
查看次数

在表单上使用ng-disabled和$ invalid时是否需要ng-model?

我正在使用AngularJS并且有一个表单,我希望在没有填写某些字段时禁用"提交"按钮.

标准方式似乎如下:

<form ng-app name="myForm">
    <label>Name</label>
    <input type="text" name="name" ng-model="form.name" required>
    <input type="submit" ng-disabled="myForm.name.$invalid">
</form>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/YMSRU/

但是,如果我从输入字段中省略模型,则验证不起作用,我的输入字段不需要任何模型(我使用ngUpload指令提交表单,因此它实际上发送到iframe中的表单操作) .

有没有解决方案,还是应该添加随机模型才能使验证工作?这似乎是一个糟糕的解决方法.

angularjs

5
推荐指数
1
解决办法
7144
查看次数

var a = function()vs function a()for event listener?

我正在尝试理解向事件监听器添加函数时的区别以及它具有的含义.

var buttons = document.getElementsByTagName('button');
for (i = 0, len = 3; i < len; i++) {
    var log = function(e) {
        console.log(i);
    }
    buttons[0].addEventListener("click", log);
}

for (i = 0, len = 3; i < len; i++) {
    function log(e) {
        console.log(i);
    }
    buttons[1].addEventListener("click", log);
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/paptd/

第一个按钮触发console.log3次,而第二个按钮仅触发一次.

在正常情况下向事件侦听器添加函数时,为什么以及应该使用什么?

javascript javascript-events

5
推荐指数
1
解决办法
437
查看次数

module.export = []是不是很糟糕的做法?

我有两个模块,两个都需要访问共享阵列.我通过一个只包含以下内容的模块来解决这个问题:

sharedArray.js

module.exports = [];
Run Code Online (Sandbox Code Playgroud)

在模块中我使用它像这样:

module1.js

var arr = require('./sharedArray');

function addSomething() {
    // Add something to arr 
}
Run Code Online (Sandbox Code Playgroud)

module2.js

var arr = require('./sharedArray');

function doSomething() {
    // Use arr for something
}
Run Code Online (Sandbox Code Playgroud)

这有效,但感觉不对(无用的空模块),我错过了一些明显的东西.

有更好的方法吗,或者这实际上是你如何解决它?

javascript node.js

4
推荐指数
1
解决办法
253
查看次数

检查DOM元素对象是否具有某种方法的正确方法?

在Android股票浏览器上,我得到"在某些DOM元素(如a标签)上没有方法'点击'",而它在其他浏览器上工作.因此,我正在尝试创建一个条件来检查方法是否存在.这是我到目前为止所得到的:

<a href="test" id="test">test</a>

if (typeof document.getElementById('test').click === 'function') {
    alert('it has');
} else {
    alert('it has not');
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/Acejt/1/

这似乎有效,但我想知道它是否是正确的方法,如果它是跨浏览器兼容的.

javascript

0
推荐指数
1
解决办法
132
查看次数