1

リンクを表示すると、クリックするたびにテーブルに行が追加され続けます。私はそれを停止する必要があります。JavaScript 配列に 2 つのオブジェクトがあり、GetVıewData によって prıntfeed 関数に渡されます。各ビュー リンクをクリックすると、2 行が追加されます。もう一度クリックすると、さらに2つ追加されます。どうすればこの機能を停止できますか?

$(document).ready(function() {
   $(".anch").click(function(e) {           
    GetViewData(trID);
});

function GetViewData(pid) {
var data = [ {"FeedID":"10", "TranslateText": "test"}, {"FeedID":"11", "TranslateText": "test"}];           

$.each(data, function (i, item) {
         printFeed(div, item,TableID );
 });

function printFeed(div,item,tableName) {        
        var iTableName = "#" + tableName;
        var newRow = $("<tr><td>test</td></tr>");
        $(iTableName).append(newRow);

    }  

<a class="anch">view</a>  
<div id="ajaxDiv-1">
    <table id="Table2">
        <tr><td>test</td></tr>
    </table>
</div>  
<a class="anch">view</a> 
<div id="ajaxDiv-1">
    <table id="Table3">
        <tr><td>test</td></tr>
    </table>
</div> 
4

2 に答える 2

0

ユーザーがボタンを 1 回だけクリックできるようにしたいですか?

その場合は、jQuery .one 関数を使用できます。http://api.jquery.com/one/

于 2012-10-15T21:56:04.477 に答える
0

one()以前に投稿した使用方法を含むさまざまな方法。これには、ハンドラーが一度しか機能しないという制限があります。

条件ステートメントを使用して、ハンドラー内でコードを実行する必要があるかどうかを確認できます。

var ctr=0;

$(selector).click(function(){
   if( ctr < 3){
      /* run code*/
   }
   ctr++;
});

unbind()または、またはを使用してハンドラーを削除できますoff()

if( myFavoriteColor === 'Green'){
   $(selector).unbind('click')
}

また

$(selector).click(function(){
   if( ctr < 3){
      /* run code*/
   }else{
       $(this).unbind('click')
   }
   ctr++;
});
于 2012-10-16T00:33:30.760 に答える