событие клика не на input-элементе
хочу сделать такую штуку.
есть строчка html: History: per <u><b><span id="per">0</span></b></u> days по клику н а цифру появляется текстовый input в котором молжно редактировать цифру пока за данных за период дней. вот настрочил маленький кодик который в общем-то выполянет то что я хочу. $("#per") .click(function(e){ e.preventDefault(); var input = $('<input />').attr({value:$(this).text(),name:"per",size:1,style:"border:1px solid #ccc;text-align:center"}); $(this).html(input); input.focus(); }) .change(function(e){ var value = $(this).find('input').val(); $(this).html(value); }) ; НО срабатывает только если данные изменены и нажат Enter. хочу сделать так чтобы срабатывал и тогда когда клацают мышью гдето НЕ на инпуте но н е могу найти события, которое бы подошло для этого...в событиях инпута события unfocus к сожалению нет... подскажите пожалуйста, как можно организовть событие,которое мне нужно? |
Цитата:
|
Цитата:
|
Всегда он действует.
|
меня что вообще смущает: то, что change все-таки вызывается O_o но все еще страннее, в opera - по клику мышкой за пределами, в ff - по Enter'у (в обоих случаях содержимое должно измениться). В ie вообще не работает. В opera и ff добавили onchange для span O_o Кстати по Enter onchange в opera срабатывает, но если через jQuery назначать - то нет
p.s. пара замечаний к коду: 1) preventDefault тут не нужно, 2) вместо html можно использовать append (где input) и text (где value) |
Часовой пояс GMT +3, время: 14:38. |