Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Как кроссбраузерно использовать "watch" METHOD (https://javascript.ru/forum/css-html/6924-kak-krossbrauzerno-ispolzovat-watch-method.html)

maxval 05.01.2010 21:02

Как кроссбраузерно использовать "watch" METHOD
 
function setWatchFunction_Size(id){
        elem = document.getElementById(id);
        //устанавливаем обработчик
        elem.watch("value",
        function (id,oldval,newval) {
            alert(newval);
            return newval;
        });
    }
    function changeValue(elem_id,value){
        elem = document.getElementById(elem_id);
        elem.value = value;
    }


Код:

font_value: <input id="font_value" type="text" value="">
<div id="font_place" >
    <?
    for($j = 1; $j<7 ;$j++){
        ?>
    <font  onclick="changeValue('font_value',<?=$j?>);" size="<?=$j?>"><?='Elem '.$j?></font><br>
    <?
    }
    ?>
</div>
<input type="button" onclick="setWatchFunction_Size('font_value');" value="click to set handler on font_value "/>

при клике на кнопку на элемент font_value устанавливается обработчик, отслеживающий изменение свойства value , который сообщает новое значение, в фаерфоксе работает прекрасно, а вот в опере и ИЕ elem.watch() повисает и не отслеживается изменение

из найденных статей на эту тему я не нашел причины, почему это не работает, хотя данный метод является частью ядра жаваскрипт


http://www.devguru.com/Technologies/...ref/watch.html

http://www.webreference.com/javascri...ef/object.html

а вот здесь можно посмотреть сам скрипт
http://poligon3.mandarinko.ru/maxval/watch/watch.php

tenshi 06.01.2010 19:33

onpropertychange

maxval 06.01.2010 20:26

Цитата:

Сообщение от tenshi (Сообщение 39800)
onpropertychange

прекрасно, но наличиствует только в объектной модели IE
а как быть с оперой и фф?

http://www.java2s.com/Code/JavaScrip...ngeExample.htm

Kolyaj 06.01.2010 20:37

Цитата:

Сообщение от maxval
прекрасно, но наличиствует только в объектной модели IE

Он наличествует не просто только в модели IE, а только у DOM-элементов, которые находятся в DOM-дереве.

Цитата:

Сообщение от maxval
хотя данный метод является частью ядра жаваскрипт

Не является.

maxval 06.01.2010 21:27

Цитата:

Сообщение от Kolyaj (Сообщение 39817)
Он наличествует не просто только в модели IE, а только у DOM-элементов, которые находятся в DOM-дереве.


Не является.

http://www.webreference.com/javascri...ef/object.html

watch

Watches for a property to be assigned a value and runs a function when that occurs.

Method of

Object
Implemented in


JavaScript 1.2, NES 3.0

а о чем же написано здесь?


так как использовать данное событие
onpropertychange
в opera и фф?

Kolyaj 06.01.2010 21:49

Цитата:

Сообщение от maxval
а о чем же написано здесь?

О ядре JavaScript в стандарте ECMAScript нужно читать. Тут например.

Цитата:

Сообщение от maxval
так как использовать данное событие
onpropertychange
в opera и фф?

Так нет такого события нигде, кроме IE.

tenshi 06.01.2010 21:56

javascript - разработка нетскейпа. ECMAScript - всего лишь частично совместимый с ним язык.

tenshi 06.01.2010 21:56

Цитата:

Так нет такого события нигде, кроме IE.
его не сложно сделать %-)


Часовой пояс GMT +3, время: 17:24.