【问题标题】:passing arguments to JavaScript function inside input field vs. from inside function将参数传递给输入字段内的 JavaScript 函数与从函数内部传递参数
【发布时间】:2013-01-30 23:52:35
【问题描述】:

以下两种传递/设置变量的方式有什么优缺点?

<input type="password" name="pw1" id="pw1" onkeyup="return passwordCheck(document.getElementById('pw1'), document.getElementById('pw2'))"/

function passwordCheck(first, second){...

<input type="password" name="pw1" id="pw1" onkeyup="return passwordCheck()"/

function passwordCheck(){
var first = document.getElementById('pw1')
var second = document.getElementById('pw2')...

【问题讨论】:

  • 在第一个中,您可以使用任意两个值调用函数,而在第二个中,您将始终只检查函数内部元素的值。除此之外,我想不出任何赞成/反对。

标签: javascript html function argument-passing


【解决方案1】:

它使您的 html 标记更易于阅读(以及您的 js 代码)。它(更多)将您的代码与您的标记分离。更好的方法是通过定位 id 将事件侦听器绑定到输入。这样你的标记中就没有 js。

编辑以回复评论:我指的是第二个示例(调用函数)更好,但总的来说,最好进行事件绑定。有多种方法可以做到,这里是一个例子:

<input type="password" name="pw1" id="pw1"/>

// ...

document.getElementByID('pw1').onkeyup = function() { 
  // do stuff
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 2015-02-17
    • 2012-06-19
    • 1970-01-01
    • 2021-09-21
    • 2015-05-09
    • 1970-01-01
    相关资源
    最近更新 更多