此代码: var messageLine =“这是一行文本”;
myTextField.addEventListener('change', textHasBeenChanged, false);
调用此函数:
function textHasBeenChanged(e) { var target = e.target; messageLine = target.value;}
现在,我想传递其他数据……就像一个简单的数字1。像这样:
myTextField.addEventListener('change', function(){textHasBeenChanged(theValueOfTheTextField, theNumber1);});
这怎么办?我仍然是编程的新手,因此请尽可能使答案与您上面看到的语法相似。
答案 0 :(得分:0)
您可以通过传递附加参数在匿名函数内部调用/调用该函数。您也可以考虑使用input
事件,而不是change
元素或<input>
元素的值被更改时同步触发的<select>
: / p>
<textarea>
var messageLine = "this is a line of text";
var myTextField = document.getElementById('myTextField');
myTextField.addEventListener('input', function(){textHasBeenChanged(event, 1)}, false);
function textHasBeenChanged(e, other) {
var target = e.target;
messageLine = target.value;
console.clear(); //clear the previous data in console
console.log(messageLine);
console.log(other);
}
答案 1 :(得分:0)
如果您不打算在以后取消偶数侦听器,那么应该可以将参数正确地传递给要提供给事件侦听器的函数
myTextField.addEventListener('change', textHasBeenChanged(1), false);
您不必为事件传递e
,因为为事件侦听器提供命名函数时,e
已被假定为第一个参数