Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Что-то не так с событием клика(?)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Evgen8
Отправлено: 15 Августа, 2012 - 19:52:05
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Есть скрипт:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. (function($){
  3.    $.start_del = function() {
  4.          var str = $("#del_key").serialize();
  5.          $.post("del_key.php", str, function(data) {
  6.                 if (data.ok_ok == "1")
  7.                 {
  8.                  $("#result").html("Произошла ошибка. Обратитесь к администратору.");
  9.                 }
  10.                 else
  11.               {
  12.                           var key = data.ok_ok;
  13.                           var name = data.name;
  14.                                  function removeRow(key, name) {
  15.             var args = '<td>' + key + '</td><td>' + name + '</td>';
  16.             $('tr').filter(':contains(\'' + key + '\')').filter(':contains(\'' + name + '\')').remove();
  17.          }
  18.                  removeRow(key, name);
  19.                                  $("#result").html("Ключ успешно добавлен.");
  20.                                  $("#name_key").val("");
  21.                                   window.setTimeout(function(){$("#result").html("")}, 4500);
  22.                 }
  23.          });    
  24.    }
  25. })(jQuery);
  26. $(document).ready(function(){
  27.   $('#del_key_but:button').click(function(){
  28.         $.start_del();
  29.   });
  30.   $('#name_key_del').keyup(function(e){
  31.         if(e.keyCode == 13)
  32.         $.start_del();
  33.   });
  34.   });
  35.  

При клике на кнопку все работает правильно:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('#del_key_but:button').click(function(){
  3.         $.start_del();
  4.   });
  5.  

Но , второе типа не пашет...
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.     $('#name_key_del').keyup(function(e){
  3.         if(e.keyCode == 13)
  4.         $.start_del();
  5.   });
  6.  
 
 Top
Bio man
Отправлено: 15 Августа, 2012 - 22:31:38
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Не JQuery но разобравшись можно переписать...
CODE (javascript):
скопировать код в буфер обмена
  1. document.onkeydown=function (event) {
  2. var theEvent = event || window.event;
  3. var key = theEvent.keyCode || theEvent.which;
  4. if(key==39){
  5.         //...
  6. }
  7. }

все права на код принадлежат LIME
 
 Top
tuareg
Отправлено: 15 Августа, 2012 - 23:04:48
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Используйте e.which вместо e.keyCode

Это плохая идея вешать post запрос на событие keyup, без таймаутов Улыбка

(Отредактировано автором: 15 Августа, 2012 - 23:05:05)

 
 Top
Evgen8
Отправлено: 16 Августа, 2012 - 18:19:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




tuareg пишет:
Используйте e.which вместо e.keyCode

Это плохая идея вешать post запрос на событие keyup, без таймаутов Улыбка

Я уже юзал , мне сказали , что лучше e.keykode.
Почему?
tuareg пишет:
armancho7777777 пишет:
LIME, издержки профессионализма:
глаз смозолен))

Не только у него Радость
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. ...
  3.  $('#password:input').keyup(function(){
  4.    if(event.which == 13) //event откуда берется?
  5.      start();
  6.   });
  7. ...
  8.  
  9.  

(Отредактировано автором: 16 Августа, 2012 - 18:21:56)

 
 Top
tuareg
Отправлено: 16 Августа, 2012 - 18:22:14
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Попробуйте понабирать на клавиатуре и увидите много интересного, особенно если включить к-н отладчик типа fierbuge-a
 
 Top
Evgen8
Отправлено: 16 Августа, 2012 - 18:25:43
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




tuareg пишет:
Попробуйте понабирать на клавиатуре и увидите много интересного, особенно если включить к-н отладчик типа fierbuge-a

Что-то ничего не видно , fierbuge вкл...
 
 Top
tuareg
Отправлено: 16 Августа, 2012 - 18:27:57
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




У Вас будет куча запросов, причем если скорость набора будет достаточно быстрой, то 90% запросов не успеют обработаться или будет мелькание
 
 Top
Evgen8
Отправлено: 16 Августа, 2012 - 18:37:13
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Что-то и так не пашет...
 
 Top
tuareg
Отправлено: 16 Августа, 2012 - 19:54:22
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Уж не знаю что и кто Вам сказал Улыбка
Но вот все прекрасно работает http://jsfiddle[dot]net/tuareg/AAXcV/
 
 Top
Evgen8
Отправлено: 16 Августа, 2012 - 21:26:41
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




tuareg пишет:
Уж не знаю что и кто Вам сказал Улыбка
Но вот все прекрасно работает http://jsfiddle[dot]net/tuareg/AAXcV/

Да ну-у-у-у-у.... Хм
http://mc-diamond[dot]ru/

*************************
Evgen8
123
*************************
 
 Top
tuareg
Отправлено: 16 Августа, 2012 - 21:32:07
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Вы тогда напишите в каком браузере не работает?
в FF 14.0.1 даже ваш код работает.
 
 Top
Evgen8
Отправлено: 16 Августа, 2012 - 21:40:10
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




tuareg пишет:
Вы тогда напишите в каком браузере не работает?
в FF 14.0.1 даже ваш код работает.

Chrome 21.0.1180.79 m
Странно , строка добавилась , а запросы отправляются после добавления...
 
 Top
IllusionMH
Отправлено: 16 Августа, 2012 - 23:09:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Opera 12.50
по нажатию Enter в поле пароля происходит переход на страницу указанную в экшене.
Делайте e.preventDefault()
 
 Top
tuareg
Отправлено: 16 Августа, 2012 - 23:13:51
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




IllusionMH пишет:
Делайте e.preventDefault()

Причем событие я так понял срабатывает на форме, а не на кнопке
 
 Top
IllusionMH
Отправлено: 16 Августа, 2012 - 23:22:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




tuareg, ну тогда еще и e.stopPropagation();. Или обе конструкции заменить на return false;. Если не ошибаюсь, то это как раз таки выполняет оба эти действия, но как в данном случае поступит - хз
А вообще интересно получается, или спросонья я чего-то не догоняю. Через полчасика-часик сяду-разберусь с поведением.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB