Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выполнение функции вне фокуса blur (https://javascript.ru/forum/dom-window/51083-vypolnenie-funkcii-vne-fokusa-blur.html)

Samar 23.10.2014 19:28

Выполнение функции вне фокуса blur
 
Как можно выполнить не по нажатию Enter, а в том случае если поле с ИДом #edits вне фокуса, пытался что-то сделать с blur, не вышло.
Фокус поля:
$('td.editef').click(function(e)	{
if($('#editbox2').length>0) {return false} 
$('.ajax').html($('.ajax input').val());
$('.ajax').removeClass('ajax');
$(this).addClass('ajax');
		var t = e.target || e.srcElement;
		var elm_name = t.tagName.toLowerCase();
		if(elm_name == 'input')	{return false;}
		var val = $(this).html();
		var code = '<input type="date" id="editbox2" value="'+val+'" size="'+ $(this).text().length+'" value="' + $(this).text() + '" />';
		
		$(this).empty().append(code);
		$('#editbox2').focus();
 		$('#editbox2').blur(function()	{
			 var val = $(this).val();
			$(this).parent().empty().html(val); 
		}); 
});

Действие по нажатию:
$('td.edit').keydown(function(event){
arr = $(this).attr('class').split( " " );
   if(event.which == 13)
   {
var table = $('table').attr('id');
	 $.ajax({ type: "POST",
	 url:"update_cell.php",
	 data: "value="+$('.ajax input').val()+"&id="+arr[2]+"&field="+arr[1]+"&table="+table,
	 success: function(data){
	 $('.ajax').html($('.ajax input').val());
	 $('.ajax').removeClass('ajax');
 }});
 }});

danik.js 23.10.2014 19:57

Цитата:

Сообщение от Samar
если поле с ИДом #edits вне фокуса

То есть, в момент потери фокуса? Используй .blur(handler)

Samar 23.10.2014 21:24

$('#editbox2').blur(function()	{
			var table = $('table').attr('id');
			 $.ajax({ type: "POST",
			 url:"update_cell.php",
			 data: "value="+$('.ajax input').val()+"&id="+arr[2]+"&field="+arr[1]+"&table="+table,
			 success: function(data){
			 $('.ajax').html($('.ajax input').val());
			 $('.ajax').removeClass('ajax');
			}})
			alert('fd');
		});

Не работает, пробовал

danik.js 23.10.2014 21:42

Цитата:

Сообщение от Samar
пробовал

И? Дальше че? Не работает - значит ошибка в коде. Открой F12 консоль да посмотри. arr - че за переменная? Где объявлена?

danik.js 23.10.2014 21:43

<input id="editbox2">
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$('#editbox2').blur(function()  {
            alert('fd');
        });
</script>

Samar 23.10.2014 22:12

Спасибо! Понял что да как)


Часовой пояс GMT +3, время: 07:23.