Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Существует ли такой метод? Метод AddBehavior 
:(
    Опции темы
Finder128
Дата 8.9.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 15.3.2008

Репутация: нет
Всего: нет



В книге Д.Гудмана "Библия JavaScript" приводится пример использования метода AddBehavior. Согласно книге "Метод addbehavior() импортирует внешнее поведение Internet Explorer и присоединяет к текущему элементу, расширяя таким образом его свойства и методы." В другой литературе об этом методе ни слова. Приведённый в книге пример использования метода не работает. 
Кто что знает об addBehavior() ?
Привожу пример кода из книги:

makeHot.htc
Код

<public:attach event="onmousedown" onevent="makeHot()">
<public:attach event="onmouseup" onevent="makeNormal()">
<public:property name="hotColor">
<public:method name="setHotColor">
<script language="JScript">
var oldColor
var hotColor="red"
function setHotColor(color){
hotColor=color
}
function makeHot(){
if (event.srcElement==element){
oldColor=style.color
runtimeStyle.color=hotColor
}
}
function makeNormal(){
if (event.srcElement==element){
runtimeStyle.color=oldColor
}
}
</script>


Основной скрипт
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>

    <title>addBehavior() and removeBehavior() Methods</title>
    <script type="text/javascript">
    var myPBehaviorID
    function turnOn(){
    myPBehaviorID=document.getElementById("myP")
    //alert("!")
    addBehavior("makeHot.htc")
    //setInitialColor()
    }
    function setInitialColor(){
    if (document.getElementById("myP").readyState=="complete"){
    var select=document.forms[0].colorChoice
    var color=select.options[select.selectedIndex].value
    document.getElementById("myP").setHotColor(color)
    } else {
    setTimeout("setInitialColor()",500)
    }
    }
    function turnOff(){
    document.getElementById("myP").removeBehavior(myPBehaviourID)
    }
    function setColor(select,color){
    if (document.getElementById("myP").hotColor){
    document.getElementById("myP").setHotColor(color)
    }else {
    alert("This feature is not available. Turn on the Behavior first.")
    select.selectedIndex=0
    }
    }
    function showBehaviorCount(){
    var num=document.getElementById("myP").behaviorUrns[i].length
    var msg="The myP element has " + num + " behavior(s). "
    if (num>0){
    msg+="Name(s): \r\n"
    for (var i=0;i<num;i++){
    msg+=document.getElementById("myP").behaviorUrns[i]+"\r\n"
    }
    }
    alert(msg)
    }
    </script>
</head>

<body>
<h1>addBehaviour() and removeBehavior() Method Lab</h1>
<hr>
<p id="myP">This is sample paragraph</p>
<form>
<input type="Button" value="Switch On Behavior" onclick="turnOn()">
Choose a 'hot' color: <select name="colorChoice" onchange="setColor(this,this.value)">
<option value="red">red
<option value="blue">blue
<option value="cyan">cyan
</select>
<br>
<input type="Button" value="Switch Off Behavior" onclick="turnOff()">
<p><input type="Button" value="Count the URNs" onclick="showBehaviorCount()"></p>
</form>
</body>
</html>




PM MAIL   Вверх
SelenIT
Дата 8.9.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 7
Всего: 401



Behaviors (они же HTC - HyperText Components) - это чисто MS-овское изобретение, то бишь IE-only. Соответственно, больше всего знать про него должен msdn...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0401 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.