如何在没有元素的情况下将 e.value 直接传递给 js 函数

How pass an e.value directly to js function, without an element

我有一个 js 函数,它从文本字段元素接收 e.value 作为参数。

function myfunc(e){
   // here I use the e.value
}

如何在不使用元素的情况下直接调用 onload 字符串并将其作为值传递给 myfunc()?

这不起作用:

<body onload="myfunc('my_value')">

该函数期望接收一个带有 value 属性 的对象。

如果你传递给它一个字符串,那么它会尝试读取该字符串的 value 属性 并得到 undefined.

要么更改函数以期望一个纯字符串而不是一个对象(或者测试它是否传递了一个字符串或一个对象),要么更改您传递的内容,使其成为一个带有 [=10 的对象=] 属性.

简单地说:

function myfunc(x){
   // x is your input
 }

e是为事件保留的,而this指的是目标元素

如果我没理解错的话,你想调用那个函数,在那个函数中使用 e.value?

在这种情况下,您应该传递一个带有 value 属性:

的对象

function myfunc(e) {
  console.log(e.value);

  //do something with e.value
}
<body onload="myfunc({ value: 'My value here' })"></body>