Javascript-使用onclick的函数

Javascript - Function to use onclick?

本文关键字:函数 onclick 使用 Javascript-      更新时间:2023-09-26

我想创建一个函数,然后与onclick方法一起使用,例如:

one = document.getElementById("oneID");

则代替每个CCD_ 2 的写入功能

one.onclick = function(x) {
     tempStack.push(parseFloat(one.value));
     viewTemp.value += one.value;
}

我想使用一个单一的功能:

one.click = input(one);

但我不确定如何以正确的方式进行,例如,我尝试过的以下方法不起作用:

var input = function(x) {
        tempStack.push(parseFloat(x.value));
        viewTemp.value += x.value;
}

最后,没有外部的JavaScript库来帮助解决这个问题,普通的JavaScript。

您需要传递一个函数作为引用,而不是调用它:

one.onclick = input;

在这种情况下,您将无法传递参数,但可以使用this作为触发事件的DOM元素的引用:

function input() {
    tempStack.push(parseFloat(this.value));
    viewTemp.value += this.value;
}

这里有一个使用JavaScript的.addEventListener()的方法,正如前面提到的答案一样,使用this通过DOM Node元素在inputFunction中使用。

<input type="text" value="64.23" id="bt" />
<script>
     function inputFunction( x ) {
         console.log( x.value ); //Console Logs 64.23
     }
     var bt = document.getElementById("bt");
     bt.addEventListener( 'click', function(){ inputFunction( this )}, false );
</script>

Fiddle:http://jsfiddle.net/Lhq6t/

将函数视为普通对象,因此方法是:

function input (event) {
   // Process the event...
   // event is my event object
   // this is the object which trigger the event
   // event.target is my button
}
on.onclick = input;

必须将input函数指定为正常变量。

函数input将接收一个事件对象作为参数。也可以参考用this点击的按钮。

也许mozilla开发者网络或真正的w3c网站会更好地解释这一点。

您的需求可以通过以下方式实现:

在您的脚本标签中添加此方法:

function input(x) {
    /*tempStack.push(parseFloat(x.value));
    viewTemp.value += x.value;*/
    alert(x.id);       
} 

然后在你的按钮/锚的点击事件上调用这个方法,比如:

<input type="button" id="oneID" value="oneID" onClick="input(this);"/>
<input type="button" id="twoID" value="twoID" onClick="input(this);"/>
<a href="#" id="threeID" onClick="input(this);">threeID</a>

参见工作示例:http://jsfiddle.net/Avd5U/1/

ok,所以只需创建一个带有参数的函数,如:

function setValue(input){
    tempStack.push(parseFloat(input.value));
    viewTemp.value += input.value;
}

然后点击该元素调用函数,如:

var one = document.getElementById("oneID");
one.click = setValue(one);

祝你好运!