Вызов ссылки в Javascript или jQuery - PullRequest
1 голос
/ 03 декабря 2009

У меня есть href taged объект (рисунок) на странице, на котором я хочу программно щелкнуть. Тем не менее, я не могу понять, как ссылаться на объект. Вот тег:

<div id="getthebutton">
    <div>
        <a onmouseout="MM_swapImage('btn123','','http://www.comp.com/img/btn_img.png',1)" onmousedown="MM_swapImage('btn123','','http://www.comp.com/img/buttons/btn_inv.png',1)" onmouseover="MM_swapImage('btn123','','http://www.comp.com/img/buttons/btn_inv.png',1)" href="javascript:do_activity("param1", 1);">
            <img id="btn123" width="180" height="60" alt="" src="http://www.comp.com/img/buttons/other_btn.png"/>
        </a>
    </div>
</div>

Как мне нажать на эту вещь? Если я правильно понял, "btn123" - это просто файл изображения.

Ответы [ 5 ]

0 голосов
/ 03 декабря 2009

Если вы хотите получить результат нажатия на изображение, из кода я бы сказал, что ваш JavaScript должен быть просто:

do_activity("param1", 1);

Вот что в конечном итоге происходит, когда изображение нажимается человеком. Это обходит события «щелчка», поэтому вы можете пропустить некоторые побочные эффекты, но это то, что я попробую в первую очередь.

0 голосов
/ 03 декабря 2009

В этом случае якорь имеет href-значение javascript. Понимая, что у вас нет контроля над источником, единственным вариантом будет оценить значение HREF:

// run the href-javascript from the parent anchor
eval($("#btn123").parent().attr("href"));

Вызов клика из кода не вызовет код JavaScript. Таким образом, вы должны оценить его вместо этого.

0 голосов
/ 03 декабря 2009

Прежде всего, вы действительно должны слушать комментарии (javascript: links == темная сторона). Как говорится ...

$("div#getthebutton div a").click(); 
0 голосов
/ 03 декабря 2009

Чтобы программно нажать на это, вам нужно будет сделать что-то вроде этого

$("a").click();

Конечно, сначала нужно назначить обработчик событий, но это действительно так просто:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...