#javascript #forms #onclick
#javascript #формы #onclick
Вопрос:
Я хочу добавить значок внутри формы и иметь возможность щелкнуть по нему и запустить код JavaScript после нажатия.В принципе, я знаю, как добавить значок в форму, но я не знаю, как сделать его интерактивным с помощью OnClick.
код ввода для текстового поля — это HTML-код:
<input id="cool"
style=" width:45%; padding:4px; padding-right:25px;" type="text" name="game">
и код css для значка
Код CSS:
#cool {
background: url(game.jpg) no-repeat scroll 448px -1px;
cursor:hand;
cursor:pointer;
}
Но я не знаю, как я уже сказал, где я должен разместить команду OnClick, чтобы сделать доступным только значок.
Комментарии:
1. Добавить onclick просто :
<input onclick="alert(1)" />
.2. да, но в этом случае я хочу, чтобы нажимался только значок, а не все текстовое поле.
3. Сделайте это сложным способом, используя
event.pageX
иevent.pageY
, см. developer.mozilla.org/en/DOM/Event/UIEvent/MouseEvent ; или создайте интерактивный слой поверх текстового поля.4. Можете ли вы объяснить, что такое «сделать кликабельным только значок»? Это ввод текста, а не ввод кнопки или кнопки.
Ответ №1:
3 способа сделать это:
- использование
<input type='text' id='input'>
с помощью bg-изображения и
$("#input").click(function(e){if(e.pageX > start_x amp;amp; e.pageX < end_x amp;amp; e.pageY > start_y amp;amp; e.pageY < end_y){ // open new page }});
- используя это:
<div style='position:relative'> <input /> <div style='width:20px;height:20px;position:absolute;top:0;left:0' onclick="//js code to open page"></div> </div>
- используя этот код:
<div> <div class='left'></div> <div class='right'><input /></div> </div> <style> .left{float:left;width:25px;height:25px;background-image:url(the_image.png)} .right{float:left;width:200px;height:25px;} </style>