Не срабатывает onclick="a()"
Здравствуйте !!!
Помогите пожалуйста! Сразу хочу предупредить - мой уровень js оч близок "копипаст". Функция срабатывает при загрузке страницы, а мне нужно чтобы при нажатии на кнопку.
function a() {
viewPortWidth =520;
}
Вот код:
<html lang="">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>KeyS</title>
<script type="text/javascript" src="index/files/KeyS.js"></script>
<script type="text/javascript">
var keys;
function initKeyS() {
var nameOfDiv = "KeyS";
var viewPortWidth = 1920;
a()
function a() {
viewPortWidth =520;
alert( x);
}
keys = new keys(nameOfDiv,viewPortWidth);
}
window.onload = initKeyS;
</script>
</head>
<body oncontextmenu="return false;">
<button id="btn" onclick="a()">ИЗМЕНИТЬ</button>
<div id="KeyS"></div>
</body>
</html>
|
<html lang="">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>KeyS</title>
<script type="text/javascript" src="index/files/KeyS.js"></script>
<script type="text/javascript">
var keys, x = 1;
function initKeyS() {
var nameOfDiv = "KeyS";
var viewPortWidth = 1920;
document.getElementById('btn').onclick = a;
function a() {
viewPortWidth =520;
alert( x);
}
keys = new keys(nameOfDiv,viewPortWidth);
}
window.onload = initKeyS;
</script>
</head>
<body oncontextmenu="return false;">
<button id="btn">ИЗМЕНИТЬ</button>
<div id="KeyS"></div>
</body>
</html>
Функция a создаётся внутри функции initKeyS, потому она недоступна глобально. |
СПАСИБО ЗА ПОМОЩЬ !!!
БОЛЬШОЕ СПАСИБО !!!
Теперь функция a() срабатывает при нажатии кнопки а не сразу при загрузке страницы. Но, я правильно понял !? Я не могу изменить значение переменной var viewPortWidth=1920; функции function initKeyS()из функции a();при нажатии кнопки ? |
Можешь. И меняешь. Но только внутри функции.
Примитивные значения в js копируются при передаче, а не передаются по ссылке. Соответственно new keys имеет то значение которые было на момент onload и при клике не меняется. |
| Часовой пояс GMT +3, время: 14:34. |