ReCoder (recoder) wrote,
ReCoder
recoder

  • Mood:
  • Music:

Java Script surprises

С глубокой ностальгией вспоминаю времена программирования под MFC. Много было всякого нетривиального, но в JavaScript/DHTML - всё намного чудесатее... Из совсем свежего:

Демонические combo-boxes

Расклад такой: в таблице на ячейки навешаны обработчики кликов, динамически создающие контролы. Делается это примерно так:

var html = 
    '<select name="foo" class="ctrl" ' +
        'onKeyPress="return check_keypress()" ' +
        'onBlur="return do_accept()" ' +
        'onChange="return check_change()">' +
    '<option value="" /></select>';
e.innerHTML += html;

И вроде всё работает. Пока не выясняется что в какой-то версии IE5.5 всё это роняет IEXPLORE.EXE. Но только при потере фокуса открытым комбо-боксом. Пришлось отказаться от onBlur.

Туда-сюда...

Профессор физики читает лекцию, в аудитории три студента. Вдруг пятеро встают и выходят. Профессор про себя думает:
- Hу вот, еще парочка придет - вообще никого не останется.

Задачка та же. Таблица, обработчики на ячейках. При наведении мыши надо хитро подсветить ячейку, при уходе - сбросить подсветку. Код естественно получается такой:

<td id="123456789" 
    onMouseEnter="return hookMouseEnter()" 
    onClick="return hookClick()" 
    onMouseLeave="return hookMouseLeave()">[some content]</td>

И тут выясняется, что не всегда на каждый Enter приходится свой Leave. Дрожащими руками запросто можно сделать три-четыре Enter'a. Почему такое получается - пока не могу понять, как бороться - тоже. Написать считающий семафор с ходу не вышло. В смысле написать вышло, только он не работает...

javascript

Subscribe
promo recoder august 1, 12:09 35
Buy for 100 tokens
Не так давно Фейсбук научил меня ещё одной классификации людей, в дополнение к стратегам и тактикам, интерналистам и экстерналистам, и разным морально-политическим приверженцам. Впервые эта классификация описана ещё двадцать лет назад Картером и Сэнджером в книге The Programmer's Stone…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments