собственно вопрос звучит так " как щелкнуть на объект (имеется его ID) средствами javascript? "очень уж нужно..
благодарю за ответ.
>собственно вопрос звучит так " как щелкнуть на объект (имеется его ID)
>средствами javascript? "
>
>очень уж нужно..
>
>благодарю за ответ.при "щелчке на объект" срабатывает связанное с ним событие onClick:
document.getElementById('object_id').onClick()или лучше использовать API Prototype:
$('object_id').onClick();Думаю так.
>[оверквотинг удален]
>>
>>благодарю за ответ.
>
>при "щелчке на объект" срабатывает связанное с ним событие onClick:
>document.getElementById('object_id').onClick()
>
>или лучше использовать API Prototype:
>$('object_id').onClick();
>
>Думаю так.в первом случае Получаю - объект не поддерживает данное свойство или метод (объект - тэг IMG)
во втором - object expected.....
>[оверквотинг удален]
>>
>>или лучше использовать API Prototype:
>>$('object_id').onClick();
>>
>>Думаю так.
>
>в первом случае Получаю - объект не поддерживает данное свойство или метод
>(объект - тэг IMG)
>
>во втором - object expected.....Попробуй с API Prototype:
$('object_id').fire('onclick');http://www.prototypejs.org/api/element#method-fire
Еще пища для размышлений
http://www.howtocreate.co.uk/tutorials/javascript/domevents
// Думаю это то, что нужноvar fireOnThis = document.getElementById('someID');
if( window.KeyEvent ) {
var evObj = document.createEvent('KeyEvents');
evObj.initKeyEvent( 'keyup', true, true, window, false, false, false, false, 13, 0 );
} else {
var evObj = document.createEvent('UIEvents');
evObj.initUIEvent( 'keyup', true, true, window, 1 );
evObj.keyCode = 13;
}
fireOnThis.dispatchEvent(evObj);
>[оверквотинг удален]
>if( window.KeyEvent ) {
> var evObj = document.createEvent('KeyEvents');
> evObj.initKeyEvent( 'keyup', true, true, window, false, false, false, false, 13,
>0 );
>} else {
> var evObj = document.createEvent('UIEvents');
> evObj.initUIEvent( 'keyup', true, true, window, 1 );
> evObj.keyCode = 13;
>}
>fireOnThis.dispatchEvent(evObj);Эм..
if( window.KeyEvent ) - это условие на что? мне бы в принципе без всяких условий кликнуть на объект и все...
условие я сам допишу требуемое..
>Эм..
>if( window.KeyEvent ) - это условие на что? мне бы в принципе
>без всяких условий кликнуть на объект и все...
>условие я сам допишу требуемое..//Сори, тот пример - для событий, связанных с нажатием клавиш
//для клика мыши:
var fireOnThis = document.getElementById('someID');
var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent( 'click', true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null );
fireOnThis.dispatchEvent(evObj);
// или так
var fireOnThis = document.getElementById('someID');
var evObj = document.createEvent('MouseEvents');
evObj.initEvent( 'click', true, true );
fireOnThis.dispatchEvent(evObj);
>[оверквотинг удален]
>var fireOnThis = document.getElementById('someID');
>var evObj = document.createEvent('MouseEvents');
>evObj.initMouseEvent( 'click', true, true, window, 1, 12, 345, 7, 220, false, false,
>true, false, 0, null );
>fireOnThis.dispatchEvent(evObj);
>// или так
>var fireOnThis = document.getElementById('someID');
>var evObj = document.createEvent('MouseEvents');
>evObj.initEvent( 'click', true, true );
>fireOnThis.dispatchEvent(evObj);оба кода выдают еррор на строке где находится var evObj = document.createEvent('MouseEvents');
Объект не поддерживает данное свойство или метод.
не думал я что все так сложно окажется..
>
>оба кода выдают еррор на строке где находится var evObj = document.createEvent('MouseEvents');
>
>
>Объект не поддерживает данное свойство или метод.
>
>не думал я что все так сложно окажется..мда... действительно, только в Firefox работают... в IE не хотят...
вот для IE, но теперь в Firefox не будет работать:
<body>
<script src="./prototype.js"></script>
Privet, mir!<br />
<img id="img1" src="./IMG_0135.jpg" />
<script>
$('img1').observe('click',function (event){
alert('oops!');
});
$('img1').fireEvent('onclick');
</script>
</body>
>[оверквотинг удален]
><script src="./prototype.js"></script>
>Privet, mir!<br />
><img id="img1" src="./IMG_0135.jpg" />
><script>
>$('img1').observe('click',function (event){
> alert('oops!');
>});
>$('img1').fireEvent('onclick');
></script>
></body>Я как понимаю взял только
><script>
###>$('img1').observe('click',function (event){ alert('oops!');});
>$('img1').fireEvent('onclick');
></script>ошибка object expected на строке отмченной ###
На какой объект и главное зачем? Как объект по вашему должен отреагировать на клик мышкой?
>На какой объект и главное зачем? Как объект по вашему должен отреагировать
>на клик мышкой?Есть Access2003, есть у него Data Access Page. при работе с данными через Data Access Page (веб-страница) - периобически требуется нажимать на кнопу "сохранить" - которая является частью интерфейса данной страницы.
нажимать крайне не желательно. требуется чтобы она сама "нажималась" каждые 2 минуты.
В коде страницы я не нашел ни одного скрипта которые обслуживают эту кнопочу. видимо все объекты подгружаются откуда-то еще. ссылок на это "откуда-то еще" в самой странице я так и не нашел.
Но у этой кнопочки явно есть ID - вот на ее и хочется "жать" используя этот id..
такая вот беда..
DOM объект какой? Кнопочку можно сделать через input, img, div, etc. А вообще советую поставить webdeveloper и firebug для firefox и посмотреть что и как работает на этой страничке.
>DOM объект какой? Кнопочку можно сделать через input, img, div, etc. А
>вообще советую поставить webdeveloper и firebug для firefox и посмотреть что
>и как работает на этой страничке.это добро работает только под IE.
конпка - это тэг IMG. неужели нет явной функции на вызов мышиного клика?
>это добро работает только под IE.Мои соболезнования, этот браузер исключительно недружественен к js, многие объекты DOM ведут себя там совсем не так как должны, некоторые свойства и события зачастую недоступны при обращении к объекту средствами js.
>конпка - это тэг IMG. неужели нет явной функции на вызов мышиного клика?Может вам еще дать возможность повозить курсор мыши по экрану, побарабанить клавой итд? Конечно нет такого просто потому что быть не должно и это не только в браузерах, но и в OS вообще. Если нужно сымитировать нажатие на какой-либо объект, то просто вызывается функция/обработчик, которая была бы вызвана, если бы произошло реальное нажатие мышкой. В простейшем случае это назначенныя явно обработчик onclick, однако все может быть куда запутанней. Например img может быть связан с картой ссылок или может быть заключен в в какой либо контейнер. В таком случае у самого img обработчика onclick не будет, вместо этого будет вызван обработчик(в том числе и дефолтный, который опять таки явно не виден) контейнера или карты. Разобрать такое вручную может быть очень нелегко, особенно учитывая что обработчики не обязательно явно указаны в тексте, а могут вешаться налету в любой части документа.
Можно подойти к этому с другой стороны. Для сохранения требуется обращение к серверу, а значит мы ловим это обращение, смотрим какой это был тип запроса и какие параметры передавались. После чего делаем аналогичный запрос в своем куске js кода.
>[оверквотинг удален]
>быть заключен в в какой либо контейнер. В таком случае у
>самого img обработчика onclick не будет, вместо этого будет вызван обработчик(в
>том числе и дефолтный, который опять таки явно не виден) контейнера
>или карты. Разобрать такое вручную может быть очень нелегко, особенно учитывая
>что обработчики не обязательно явно указаны в тексте, а могут вешаться
>налету в любой части документа.
>Можно подойти к этому с другой стороны. Для сохранения требуется обращение к
>серверу, а значит мы ловим это обращение, смотрим какой это был
>тип запроса и какие параметры передавались. После чего делаем аналогичный запрос
>в своем куске js кода.Да в том то и едло что у обхекта есть только ID и все. никаких функций в тексте страницы нет. они как я понимаю все содержаться в погружаемых "веб-компонентах офис 2003"
это все на локалхосте... чем отлавливать данное событие?
Тут ничем помочь не могу. Понятия не имею как работает access с браузером(он что выступает в роли вебсервера или js в ie как то может общаться с access через activex?) и чем вообще можно смотреть трафик в винде
>[оверквотинг удален]
>>Можно подойти к этому с другой стороны. Для сохранения требуется обращение к
>>серверу, а значит мы ловим это обращение, смотрим какой это был
>>тип запроса и какие параметры передавались. После чего делаем аналогичный запрос
>>в своем куске js кода.
>
>Да в том то и едло что у обхекта есть только ID
>и все. никаких функций в тексте страницы нет. они как я
>понимаю все содержаться в погружаемых "веб-компонентах офис 2003"
>
>это все на локалхосте... чем отлавливать данное событие?Можно использовать другие методы, не программные. К примеру, есть готовые проги, эмулирующие нажатия клавиш, мыши и т.п. Одна из них, часто используемая в игровых приложениях, — UOPilot. Если главное - результат, то и этот метод вполне имеет право на существование. :)