Если Вам установили Python или не возражаете устанавливать его (он имеет другое использование также:), просто создайте следующий сценарий sleep.py и добавьте его где-нибудь в Вашем ПУТИ:
import time, sys
time.sleep(float(sys.argv[1]))
Это позволит подвторые паузы (например, 1,5 секунды, 0.1, и т.д.), должны Вы иметь такую потребность. Если Вы хотите назвать его как sleep
, а не sleep.py
, то можно добавить .PY
расширение переменной среды PATHEXT. На Windows XP, можно отредактировать его в:
Мой Компьютер в †’ Свойства (меню) в †’ Усовершенствованный (вкладка) в †’ Переменные среды (кнопка) в †’ Системные переменные (кадр)
ОБНОВЛЕНИЕ: Эти timeout
команда, доступная от Windows Vista и вперед, должна быть используемая команда, как описано в другом ответ к этому quiestion.
Обычно я сохраняю дескрипторы при их создании, чтобы потом их можно было отключить. Примерно так:
var connects = {};
// then later on
var node = dojo.create(....); // or someting else that gives you a node
dojo.forEach( ['click','ondblclick' ], function( evt, idx ) {
if (!connects[node.id]) {
connects[node.id] = [];
}
connects[ node.id ][idx] = dojo.connect( node, evt, function(evt) { .... });
});
Затем, позже, вы можете отключиться, например:
dojo.forEach( connects[node.id], function( handle ) {
dojo.disconnect( handle );
});
Для этого есть аналогичный образец кода на dojocampus
Как и Сет, у меня есть свои шаблоны для удаления событий - я собираю дескрипторы в массивы (псевдокод):
var handles = [
dojo.connect(...),
dojo.connect(...),
dojo.connect(...)
];
Если я подключаюсь динамически, я просто собираю их:
var handles = [];
...
handles.push(dojo.connect(...));
...
handles.push(dojo.connect(...));
Если я подключаю несколько события обычно я могу использовать dojo.map ()
:
var handles = dojo.map(["click", "ondblclick"], function(evt){
return dojo.connect(node, evt, ...);
});
Замечательно то, что позже я могу отключить их все с помощью удобного однострочника:
dojo.forEach(handles, dojo.disconnect);
В вашем случае вы можете использовать словарь, подобный показанному Сетом, выполняет то же самое:
var handles = {};
...
handles[node.id] = dojo.map(["click", "ondblclick"], function(evt){
return dojo.connect(node, evt, ...);
});
Итак, позже вы можете отключить обработчики следующим образом:
dojo.forEach(handles[node.id], dojo.disconnect);
Посмотрите, помогут ли Сет и мои наброски в вашем случае. Если нет, расскажите подробнее.