内联onclick JavaScript变量

Pit*_*ger 15 html javascript onclick

我在这个html上面有一个JavaScript有没有办法在下面的代码中将它传递到EditBanner(JS Variable Here)中?

//EditBanner to be changed to pass a Js variable.
<input id="EditBanner" type="button" value="Edit Image" onclick="EditBanner();"/>
Run Code Online (Sandbox Code Playgroud)

Khe*_*hez 28

有一个完整的实践表明,拥有内联函数/样式是一个坏主意.考虑到您已经拥有按钮的ID,请考虑

JS

var myvar=15;
function init(){
    document.getElementById('EditBanner').onclick=function(){EditBanner(myvar);};
}
window.onload=init;
Run Code Online (Sandbox Code Playgroud)

HTML

<input id="EditBanner" type="button"  value="Edit Image" />
Run Code Online (Sandbox Code Playgroud)


Roc*_*mat 5

<script>var myVar = 15;</script>
<input id="EditBanner" type="button" value="Edit Image" onclick="EditBanner(myVar);"/>
Run Code Online (Sandbox Code Playgroud)


Bob*_*ich 5

是的,JavaScript 变量将存在于它们创建的范围内。

var bannerID = 55;

<input id="EditBanner" type="button" 
  value="Edit Image" onclick="EditBanner(bannerID);"/>


function EditBanner(id) {
   //Do something with id
}
Run Code Online (Sandbox Code Playgroud)

如果您使用事件处理程序和 jQuery,它也很简单

$("#EditBanner").click(function() {
   EditBanner(bannerID);
});
Run Code Online (Sandbox Code Playgroud)

  • 这不起作用,您不能在 HTML 中使用类似的变量。使用 `onclick="EditBanner(bannerID);"` 代替 (2认同)