|
22.11.2014, 19:12
|
Интересующийся
|
|
Регистрация: 08.11.2014
Сообщений: 27
|
|
Создать кнопку с событием
Доброго времени суток. В JS новичек. Такая проблема хочу создать кнопку, при нажатии на которую создается еще кнопка. Изначально создано две кнопки "Автомат" и "Ручное". При нажатии на Ручное должно создать внизу(под Ручным) кнопку. Вот код
var a= 0;
onload = function vizovRuchnoi(){
if (a == 0) {
var btn = document.createElement('input');
btn.id = 'b1';
btn.type = 'button';
btn.value = 'Ручное переключение';
document.body.appendChild(btn);
document.getElementById('b1').onclick = sozdaemTriKnopki();
btn.setAttribute('onclick', 'sozdaemTriKnopki');
var btn1 = document.createElement('input');
btn1.id = 'b2';
btn1.type = 'button';
btn1.value = 'Автоматическое переключение';
btn1.setAttribute('onclick', 'obj.HandleClick1();');
document.body.appendChild(btn1);
a = 1;
}
}
var b =0;
function sozdaemTriKnopki(){
if ( b== 0){
var btn = document.createElement('input');
btn.id = 'b1_1';
btn.type = 'button';
btn.value = 'Красный11';
document.body.appendChild(btn);
b = 1;
}
}
|
|
22.11.2014, 19:22
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от Vladimir93
|
document.getElementById('b1').onclick = sozdaemTriKnopki();11 btn.setAttribute('onclick', 'sozdaemTriKnopki');
|
или
btn.onclick = sozdaemTriKnopki;
или
document.getElementById('b1').onclick = sozdaemTriKnopki
|
|
22.11.2014, 19:27
|
Интересующийся
|
|
Регистрация: 08.11.2014
Сообщений: 27
|
|
Сообщение от рони
|
или
btn.onclick = sozdaemTriKnopki;
или
document.getElementById('b1').onclick = sozdaemTriKnopki
|
Я пробовал и так и так. Оно то кнопку создает, но сразу при загрузку страницу, как будто метод sozdaenTrKnopki вызывается сразу. А надо, чтобы после нажатия мыши. ЧТо не так?
|
|
22.11.2014, 19:29
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Vladimir93,
сделай как написано выше
|
|
22.11.2014, 19:30
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Vladimir93,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title><meta charset="utf-8">
<script>
var a= 0;
onload = function vizovRuchnoi(){
if (a == 0) {
var btn = document.createElement('input');
btn.id = 'b1';
btn.type = 'button';
btn.value = 'Ручное переключение';
document.body.appendChild(btn);
btn.onclick = sozdaemTriKnopki;
var btn1 = document.createElement('input');
btn1.id = 'b2';
btn1.type = 'button';
btn1.value = 'Автоматическое переключение';
// btn1.setAttribute('onclick', 'obj.HandleClick1();');
document.body.appendChild(btn1);
a = 1;
}
}
var b =0;
function sozdaemTriKnopki(){
if ( b== 0){
var btn = document.createElement('input');
btn.id = 'b1_1';
btn.type = 'button';
btn.value = 'Красный11';
document.body.appendChild(btn);
b = 1;
}
}
</script>
</head>
<body>
</body>
</html>
|
|
22.11.2014, 19:31
|
Интересующийся
|
|
Регистрация: 08.11.2014
Сообщений: 27
|
|
Сообщение от рони
|
Vladimir93,
сделай как написано выше
|
Блин. Спасибо. До этого писал только на Java, и там методы вызываются только с (), а здесь не так...
|
|
22.11.2014, 19:32
|
Интересующийся
|
|
Регистрация: 08.11.2014
Сообщений: 27
|
|
Тогда такой вопрос, что в стилях надо указать, чтобы кнопка внизу создалась, а не последовательно в строку...
|
|
22.11.2014, 19:48
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Vladimir93,
#b1_1{
display: block;
}
|
|
22.11.2014, 20:32
|
Интересующийся
|
|
Регистрация: 08.11.2014
Сообщений: 27
|
|
Рони, можно еще вопрос. Допустим у меня есть две кнопки, идущие в линию. При нажатии на одну создаются 4-ре кнопки внизу в столбец в помощью display: block. А как добавить четвертую не в столбец, а в ту линию, где две первоначальные?
|
|
22.11.2014, 20:46
|
Интересующийся
|
|
Регистрация: 08.11.2014
Сообщений: 27
|
|
Сообщение от рони
|
Vladimir93,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title><meta charset="utf-8">
<script>
var a= 0;
onload = function vizovRuchnoi(){
if (a == 0) {
var btn = document.createElement('input');
btn.id = 'b1';
btn.type = 'button';
btn.value = 'Ручное переключение';
document.body.appendChild(btn);
btn.onclick = sozdaemTriKnopki;
var btn1 = document.createElement('input');
btn1.id = 'b2';
btn1.type = 'button';
btn1.value = 'Автоматическое переключение';
// btn1.setAttribute('onclick', 'obj.HandleClick1();');
document.body.appendChild(btn1);
a = 1;
}
}
var b =0;
function sozdaemTriKnopki(){
if ( b== 0){
var btn = document.createElement('input');
btn.id = 'b1_1';
btn.type = 'button';
btn.value = 'Красный11';
document.body.appendChild(btn);
b = 1;
}
}
</script>
</head>
<body>
</body>
</html>
|
кстати, а если в методе будет аргумент, тогда работать не будет?
|
|
|
|