HTML5 oninput属性中的JavaScript动作
JavaScript action inside HTML5 oninput attribute?
我一直在学习HTML5我遇到的一个例子使用类型范围的输入元素和输出元素(这个例子目前只适用于Chrome, Safari和Opera)。下面的表单生成一个滑动条,其结果回显到输出元素。
<form>
<p>
<input type="range" id="slideValue" value="50"
oninput="slideCurrent.value = parseInt (slideValue.value);" />
<output id="slideCurrent">50</output>
</p>
<input type="submit" value="Send">
</form>
我的问题与oninput属性有关。oninput属性包含JavaScript。在html5之前的JavaScript中,我经常看到JavaScript引用this.value。然而,在上面的HTML5示例中,对slideCurrent和slideValue的引用(显然不需要使用getElementById)。我相信这是JavaScript的一种新行为方式。
这个新的JavaScript操作方法是否在某处记录?
内联事件处理程序中的代码作用域为元素,就像它在with
块中一样。
因此,你可以使用元素的属性作为全局变量。
这是一个鲜为人知的危险功能,在HTML5中并不新鲜。
这是IE引入的一种方法,元素的名称和id是全局作用域中的引用。其他浏览器已经复制了它,但它被认为是不好的使用。Mozilla抛出一个警告:
元素在全局作用域中被ID/NAME引用。使用war3标准. getelementbyid()而不是…
你可以在谷歌上找到很多线程。在这里可以找到一篇好文章。在事件处理程序中,可以使用this
作为对元素的引用,但输出元素应该由标准dom方法访问。
编辑:哦,该死的,是的,它在规范:http://www.whatwg.org/specs/web-apps/current-work/#dom-window-nameditem。但是有一个大大的红色警告:
这种情况可能会改变。浏览器厂商正在考虑将这种行为限制为怪癖模式。阅读更多…
参见Mozilla bug 303420和602381
- 形式“;动作“;使用javascript
- $_POST值在<形式动作=“;javascript:someJSFunction()"/>
- 检测移动电话上调用javascript函数的动作
- 如何使用 JavaScript 形成动作
- (如何)我可以直接在Javascript中访问struts动作字段
- 如何根据JavaScript中的条件控制表单的动作属性
- 提交到带有“;动作:javascript"使用javascript
- 用Javascript模拟动作
- Javascript -不知道如何实现基于回合的动作的while条件
- 如何从javascript表单动作转换为jquery
- Ember从普通Javascript调用一个动作处理程序
- Javascript停止间隔和动作后
- 回发后Javascript动作改变
- HTML5 oninput属性中的JavaScript动作
- JavaScript动作监听器
- 用switch类延迟javascript动作
- jQuery初始化JavaScript动作
- 当shift-双击时触发JavaScript动作
- 绕过将JavaScript动作附加到对象上
- 两个javascript动作"在两个不同页面的一个函数中