Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№124-10-2006 21:56:36

Masletso
Участник
 
Группа: Members
Зарегистрирован: 31-07-2006
Сообщений: 94

Не могу назначить кнопке событие

В html документе есть кнопка, но она там не просто в html введена, а ведена через javascript:

Выделить код

Код:

document.write('<form ...>');
document.write('<input type=\'button\' ... >');
// и т.д.

Надо в XUL приложении назначить ему действие на mousedown (да или на mouseover).
я пробовал уже как угодно:

Выделить код

Код:

//1 вариант
submitButton.setAttribute("onmousedown","myfunction()");
//2 вариант
submitButton.onmousedown = myfunction;
//3 вариант
submitButton.addEventListener("mousedown",myfunction,true);

Ни как не хочет.
Кнопку находит правильно, проверял:
alert(submitButton.getAttribute("onclick"));


Помогите плз =)

Отсутствует

 

№225-10-2006 15:36:00

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Не могу назначить кнопке событие

сделал тестовую страничку:

Выделить код

Код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
    </head>
    <body>
        <script type="text/javascript">
        function newdoc ()
        {
            document.write('<form>');
            document.write('<button id="xxx">abc</button>')
            document.write('<button onclick="document.getElementById(\'xxx\').setAttribute(\'onclick\',\'alert(123)\')">abd</button>')
            document.write('</form>');
            document.close();
        }
        </script>
        <div>
        <p onclick="return false">abc</p>
        <input type="button" onmousedown="newdoc()">
    </body>
</html>

+ кнопку для custombuttons

Выделить код

Код:

try{
var doc = new XPCNativeWrapper (getBrowser (). contentDocument). wrappedJSObject;
var xxx = doc.getElementById("xxx");
function test_function ()
{
	alert (1010);
}
function test_function2 ()
{
	alert (2020);
}
function test_function3 ()
{
	alert (3030);
}
//xxx.addEventListener("mousedown",test_function,true);
//xxx. setAttribute ("onclick", "test_function2()"); // не работает
xxx. onmousedown = test_function3;
}catch(e){alert(e)}

всё работает, кроме, разумеется

Выделить код

Код:

xxx. setAttribute ("onclick", "test_function2()"); // не работает

т. к. нет в html функции "test_function2". Что я упустил ?


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№325-10-2006 16:50:13

Masletso
Участник
 
Группа: Members
Зарегистрирован: 31-07-2006
Сообщений: 94

Re: Не могу назначить кнопке событие

про setAttribute я уже понял.. он искал эту функцию у себя в документе, а там её нету.
а вот почему с addEventListener и просто через xxx.onclick у меня не работало, щас буду разбираться =(

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]