以前こちらでお世話になった者です。
テーブルの要素をsortableで並び替えできて、<td>内に文字も入力できるものを作っていました。
そして前に↑で<td>内の文字をセレクトできないという内容で質問させていただきました。
こちらは解決できたのですが(この時はchromeブラウザで確認してました)、
IE11で確認するとセレクトできない以前に、文字の入力ができませんでした。
自分なりに調べてfocusという関数がうまく動いていないように思い、調べるとsetTimeoutを使うという情報もあり試してみましたが、ちょっとダメそうです(記述の仕方が悪い可能性もありますが)
またお知恵をお借りできたら幸いです。
宜しくお願い致します。
html
1<div class="col-sm-12"> 2 <table id="table" class="table table-bordered"> 3 <tbody id="sortable"> 4 <tr> 5 <th class="rank">1</th> 6 <td contenteditable></td> 7 </tr> 8 <tr> 9 <th class="rank" >2</th> 10 <td contenteditable></td> 11 </tr> 12 <tr> 13 <th class="rank" >3</th> 14 <td contenteditable></td> 15 </tr> 16 17 </tbody> 18 </table> 19</div> 20
javascript
1 2$("#sortable").sortable({ 3 cancel: "td" 4}).delegate('input,textarea,td', 'click', function(ev){ 5 ev.target.focus(); 6 7 // setTimeoutを試しました↓ダメでした 8 // setTimeout(function() {ev.target.focus();},10); 9}); 10 11$('#sortable').bind('sortstop', function(e,ui){ 12 var rows = $('#sortable .rank'); 13 for(var i=0, rowTotal=rows.length; i<rowTotal; i+=1){ 14 $($('.rank')[i]).text(i+1); 15 } 16});
回答1件
あなたの回答
tips
プレビュー