我调用一个
javascript函数,用一个文本输入框动态地构建< li>,并将其放在里面. jQuery的Draggable下拉功能很好,但是我无法编辑输入文本框?
function addField(type){ var html = ''; html += '<li class="ui-state-default">'; if(type == 'text'){ html += '<b>Text Field</b><br />'; html += 'Field Name: <input type="text" name="text" id="text"> '; html += 'Field Size: <select name="textSize" id="textSize' + fRank + '"><option value="small">Small</option><option selected value="medium">Medium</option><option value="large">Large</option><option value="large2">Large 2 Lines</option><option value="large3">Large 3 Lines</option><option value="large4">Large 4 Lines</option></select>'; } html += '</li>'; $("#sortableFields").append(html); $(function() { $( "#sortableFields" ).sortable({ revert: true }); $( "#draggable" ).draggable({ connectToSortable: "#sortableFields",helper: "clone",revert: "invalid",cancel: ':input,option' }); $( "ul,li" ).disableSelection(); }); }
我已经玩了取消选项,但它没有帮助.
你建议什么
解决方法
我认为问题在于您使用.disableSelection()作为< li>元素.而不是这样做,将文本(< input>之外的东西)放入< span>元素,然后禁用跨度
$('li > span').disableSelection();