Встроенная переменная JavaScript onclick - PullRequest
15 голосов
/ 07 апреля 2011

У меня есть JavaScript выше этого html. Есть ли способ передать его в EditBanner (переменная JS здесь) в коде ниже?

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

Ответы [ 3 ]

28 голосов
/ 08 апреля 2011

Существует целая практика, которая говорит, что иметь встроенные функции / стили - плохая идея.Учитывая, что у вас уже есть идентификатор для вашей кнопки, рассмотрим

JS

var myvar=15;
function init(){
    document.getElementById('EditBanner').onclick=function(){EditBanner(myvar);};
}
window.onload=init;

HTML

<input id="EditBanner" type="button"  value="Edit Image" />
5 голосов
/ 08 апреля 2011
<script>var myVar = 15;</script>
<input id="EditBanner" type="button" value="Edit Image" onclick="EditBanner(myVar);"/>
4 голосов
/ 08 апреля 2011

Да, переменные JavaScript будут существовать в создаваемой области действия.

var bannerID = 55;

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


function EditBanner(id) {
   //Do something with id
}

Если вы используете обработчики событий и jQuery, это также просто

$("#EditBanner").click(function() {
   EditBanner(bannerID);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...