UL 内の各 LI からテキストを選択して収集するのに問題があります。例として、これまでに私が持っているものを参照してくださいhttp://jsfiddle.net/Twisty/YYbfY/
HTML
<div data-role="navbar" data-mini="true">
<ul id="resultHeader">
<li><span class='ui-btn ui-btn-inline ui-btn-up-b'><span class='ui-btn-inner'>Column A</span></span></li>
<li><span class='ui-btn ui-btn-inline ui-btn-up-b'><span class='ui-btn-inner'>Column B</span></span></li>
<li><span class='ui-btn ui-btn-inline ui-btn-up-b'><span class='ui-btn-inner'>Column C</span></span></li>
</ul>
<ul class='resultRow'>
<li><span class='ui-btn ui-btn-inline ui-btn-up-d' title='mack5.com.'><span class='ui-btn-inner'>Item 1</span></span></li>
<li><span class='ui-btn ui-btn-inline ui-btn-up-d'><span class='ui-btn-inner'>Item 2</span></span></li>
<li><span class='ui-btn ui-btn-inline ui-btn-up-d'><span class='ui-btn-inner'>Item 3</span></span></li>
</ul>
<ul class='resultRow'>
<li><span class='ui-btn ui-btn-inline ui-btn-up-d' title='mack5.com.'><span class='ui-btn-inner'>Item 1</span></span></li>
<li><span class='ui-btn ui-btn-inline ui-btn-up-d'><span class='ui-btn-inner'>Item 2</span></span></li>
<li><span class='ui-btn ui-btn-inline ui-btn-up-d'><span class='ui-btn-inner'>Item 3</span></span></li>
</ul>
<ul class='resultRow'>
<li><span class='ui-btn ui-btn-inline ui-btn-up-d' title='mack5.com.'><span class='ui-btn-inner'>Item 1</span></span></li>
<li><span class='ui-btn ui-btn-inline ui-btn-up-d'><span class='ui-btn-inner'>Item 2</span></span></li>
<li><span class='ui-btn ui-btn-inline ui-btn-up-d'><span class='ui-btn-inner'>Item 3</span></span></li>
</ul>
</div>
<textarea id="clipText-cell"></textarea>
<textarea id="clipText-row"></textarea>
<textarea id="clipText-all"></textarea>
<div id="copyPopup" data-role="popup" data-positionTo="origin">
<div data-role="controlgroup" data-mini="true">
<a href="" data-role="button" id="copyCell-btn">Copy '<span id="copyCellBtn-text"></span>'</a>
<a href="" data-role="button" id="copyRow-btn">Copy Row</a>
<a href="" data-role="button" id=copyAll-btn>Copy All Rows</a>
</div>
</div>
Jクエリ
var tapTimer, isTapHold = false;
$(".resultRow li").bind("vmousedown vmouseup", function(e) {
var clickedLi = $(this).parent().parent("li");
var clickedUl = clickedLi.parent("ul");
var cellText = $(this).text();
var rowText = "";
var tableText = "";
var rows = [];
var table = [];
if (e.type == "vmousedown") {
tapTimer = setTimeout(function() {
isTapHold = true;
//alert("Click-Hold for 1.5 seconds.");
$("#copyCellBtn-text").html(cellText);
$("#clipText-cell").val(cellText);
$("#clipText-row").val(rowText);
$("#clipText-all").val(tableText);
$("#copyPopup").popup("open", {
x: (e.pageX + 100),
y: (e.pageY + 60)
});
}, 1500);
} else {
// e.type = 'vmouseup'
// Clear the timeout if not already reached
clearTimeout(tapTimer);
// if flag is set to false, regular tap or click
if (!isTapHold) {
// Not Click-Hold, do nothing
}
// Reset flag
isTapHold = false;
}
});
私が望んでいるのは、ユーザーがクリックしたまままたはタップしたままにすると、クリックしたテキスト、行全体のテキスト、またはテーブル全体のテキストをコピーすることを選択できるポップアップ メニューが表示されることです。
li
行データを収集するために、クリックされた 内のそれぞれを反復処理しul
、対応する 内のすべてのテキストを収集する方法を見つけようとしていますtextarea
。これを取得できたら、ul
後ですべてのテキストを収集するために、すべての に対して同じことを行うループを作成できます。