2017-08-22 21 views
-1

重複としてマーキングする前に、私は以下の質問を見てきましたが、何も私のために働いていません。JQueryのクリックイベントがダブルクリックする必要があります

jQuery click event requires double click to work

Click and double-click event firing(緩くrealted)

私はいくつかの事例では、シングルクリックや他の多くでダブルクリックを必要とjQueryのイベントがあります。

あなたはデータの正確な表現が表示されます。このフィドルでフィドルhttps://jsfiddle.net/SimonPrice/6e9acbo6/5/

を参照してください、時間浪費や崩壊機能は、私がポップアップから気晴らしを避けるために、JavaScriptの窓からその機能を削除しているので、動作しません\アラート。

フィディングでは、ネストした表を含むネストした表を含む表が表示されます。 (私が継承したコード)。私はこの仕事を得ることができない最初のリンクから提案された答えであると私はまだダブルクリックして過ごしています。このコード

$(document).ready(function() { 

$(document).on('click', '.up', function() { 
    shiftRow($(this)); 
}); 
$(document).on('click', '.down', function() { 
    shiftRow($(this)); 
}); 

}); 

を使用して

私はdocument、table、tr、td要素とそれ自身のクラスクリックイベントについても試しました。

ワンクリックで作業するにはこの機能が必要です。誰かが私が行っているエラーを見るのを助けることができれば幸いです。

+0

展開/折りたたみボタンを機能させようとしています? – freginold

+1

@freginoldいいえ、テーブルの反対側には、上向き矢印と下向き矢印が表示されます... \展開ボタンを無視します。それは実際のアプリケーションでうまく動作し、ちょうどフィドルではありません –

答えて

3

私はあなたの関数に追加のログを追加しました:

function shiftRow(rowbObj) { 
console.log("up or down arrow clicked"); 
var row = $(rowbObj).closest("tr"); 
console.log(row[0].rowIndex); 
var thisTable = row.closest("table"); 
if ($(rowbObj).is(".up")) { 
    if (row[0].rowIndex > 0) { 
    console.log("current: "+row.text() + " prev: " +row.prev().text()); 

だから、それはあなたが(おそらく拡張用)行のコンテンツの追加の隠されたTRを持って実現するために私を助けた - (

<tr id="content_0_36000" class="content" style="display: none;"> 

) 一度クリックすると、表示と非表示の間で置き換えられるため、何も起こらないように見えます。

+0

良いキャッチ!私の見たところでは、 '$(this)'は 'rowbObj'として関数に送られ、' $(rowbObj) 'のように使われています。これは本当にうまくいきません...また、' <クラスアップは '' ...;)+1である必要があります+1 –

+0

@LouysPatriceBessetteなぜあなたはこれを行うには本当に良いことに展開することができますhref = "#" class = "up" ?あなたは何を見つけたのか、それがどのようにして実行されるのかについての答えを提供できますか? –

+0

隠し行については、それは最初に与えられたものです。次にネストされたテーブルを保持します。これも –

関連する問題