2015-11-21 2 views
2

Я использовал следующий код, чтобы отключить событие onclick. присутствует кодКак включить событие onclick с помощью javascript?

function moveToDeckTable(game_table_id,category_id,status){ 
    var_game_table_id=game_table_id; 
    var redirect="table.php"; 
    $.ajax({ 
     type: "POST", 
     dataType: "json", 
     url: "ahr/addPlayer.php", 
     data: {game_table_id:game_table_id,status:status}, 
     cache: false, 
     success: function(data){ 
      if(data.success==1){ 
       PlayingStatus =setInterval(setPlayingStatus,1000); 
       open_game_window = window.open(redirect+"?id="+data.game_table_id,"","_blank"); 
      }  
      else if(data.success==0) 
       alert("User already playing.."); 
      else if(data.success==2) 
       alert("You have not enough coins to play in this table .buy more coins or play in minor coins table.");  
     } 
    }); 
    //code to disable onclick 

} 
function setPlayingStatus(){ 
    if(open_game_window.closed){ 
     $.ajax({ 
      type: "POST", 
      dataType: "json", 
      url: "ahr/setPlayingStatus.php", 
      cache: false, 
      success: function(data) 
      { 
       clearInterval(PlayingStatus); 
      } 
     }); 
     //code to re enable onclick 
    }  
} 

Теперь я хочу, чтобы включить это событие еще раз на другую кнопку. Как включить событие onclick?

+0

Как это событие прикрепить к этому элементу при старте? Он использует 'onclick' или' $ (ele) .on ('click') '? – fuyushimoya

+0

есть ли другой способ отключить включение события onclick? –

+0

Зачем отключать его? Я пишу ответ прямо сейчас;) – www139

ответ

2

Проверьте это. Вам совсем не нужно отменять или «повторно инициализировать» события.

window.onload = function() { 
 
    //capture the click event 
 
    var eventsEnabled = true; 
 

 
    var log = document.getElementById('log'); 
 

 
    document.getElementById('button').onclick = function() { 
 
    //if capturing events is true 
 
    if (eventsEnabled == true) { 
 
     log.innerHTML = 'event captured'; 
 
    } 
 
    }; 
 

 

 

 
    document.getElementById('captureStop').onclick = function() { 
 
    eventsEnabled = false; 
 
    log.innerHTML = 'capturing turned off'; 
 
    }; 
 

 
    document.getElementById('captureStart').onclick = function() { 
 
    eventsEnabled = true; 
 
    log.innerHTML = 'capturing turned on'; 
 
    }; 
 
};
<input type="button" id="button" value="This is a button"> 
 
<input type="button" id="captureStop" value="Stop the evil clicking (capturing)"> 
 
<input type="button" id="captureStart" value="Start the evil clicking (capturing)"> 
 
<div id="log"></div>

UPDATE: Там действительно нет способа для меня, чтобы проверить этот код, так что вы должны сказать мне, если он работает или нет. Вы/я улучшим его оттуда и завершим этот вопрос.

Это ваш существующий код. Нам нужно отключить функции. Это кажется достаточно простым. Просто адаптируйте код в моем «старом» ответе на функцию для этой цели.

function moveToDeckTable(game_table_id,category_id,status){ 
    if(captureEvents == true){//your if (see my first answer [above]) 
    var_game_table_id=game_table_id; 
    var redirect="table.php"; 
    $.ajax({ 
     type: "POST", 
     dataType: "json", 
     url: "ahr/addPlayer.php", 
     data: {game_table_id:game_table_id,status:status}, 
     cache: false, 
     success: function(data){ 
      if(data.success==1){ 
       PlayingStatus =setInterval(setPlayingStatus,1000); 
       open_game_window = window.open(redirect+"?id="+data.game_table_id,"","_blank"); 
      }  
      else if(data.success==0) 
       alert("User already playing.."); 
      else if(data.success==2) 
       alert("You have not enough coins to play in this table .buy more coins or play in minor coins table.");  
     } 
    }); 
    //code to disable onclik 
    } 
} 
function setPlayingStatus(){ 
    if(captureEvents == false){ 
    if(open_game_window.closed){ 
     $.ajax({ 
      type: "POST", 
      dataType: "json", 
      url: "ahr/setPlayingStatus.php", 
      cache: false, 
      success: function(data) 
      { 
       clearInterval(PlayingStatus); 
      } 
     }); 
     //code to re enable onclik 
    } 
    } 
} 
+0

в моем коде я использовал «game_table_id» в селекторе, который передается параметром функции, поэтому мне нужно использовать функцию onclick insted .onclick. –

+0

Не могли бы вы объяснить, почему этот код не сработает для вас? Прошу прощения, я не понимаю различия между 'onclick' и' .onclick'. – www139

+0

Я пересмотрю свой ответ, если он не сработает для вас;) – www139

0
function enable(){ 
$("body").delegate('#btn'+game_table_id+' > .green_btn', "click", function() { 
// your code 
}); 
} 

OnClick другого вызова функции включить функцию его добавить события для кнопки

0

Рабочей кода. @ www139 благодарит обновленный код. function1-disable the onclick if captureEvents true

function2-enable the onclick if captureEvents false

Смежные вопросы