2013-09-12 3 views
3

У меня есть JQuery UI аккордеон с полем ввода на заголовок:Поле ввода в JQuery UI аккордеон Заголовок

<h3><input type="text" /></h3> 

http://jsfiddle.net/7VN8h/

Как и следовало ожидать, гармонь улавливает все пространство и стрелка нажатия клавиш, которые имеют место в заголовке - поэтому запись в поле ввода невозможна. Есть ли способ избавиться от этого поведения и использовать пространство и стрелки при вводе там?

+0

Я не понимаю вашего вопроса. Я могу ввести ввод в текстовое поле в порядке. – j08691

+0

Проверьте этот вопрос и ответ http://stackoverflow.com/questions/5511785/jquery-ui-accordion-and-space-bar-problem – Marko

+0

Да, я могу ввести текст в текстовое поле, но это невозможно ввести пространство; и использовать клавиши со стрелками для навигации по тексту. Ответ Аруна решает эту проблему. – user1702401

ответ

6

Вы можете остановить распространение ключевых событий от входного контроля

$(function() { 
    $("#accordion").accordion(); 

    $("#accordion h3 input").on('keydown', function (e) { 
     e.stopPropagation(); 
    }) 
}); 

Демо: Fiddle

+0

Спасибо всем, это решило мою проблему! – user1702401

3

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

$('input').click(function (e) { 
    e.stopPropagation(); 
}); 

jsFiddle example

1

Ниже код работал хорошо для меня:

$('#TSResultContent input[type="textbox"]').keydown(function (e) { 
    e.stopPropagation(); 
}); 
Смежные вопросы