簡體   English   中英

點擊事件JavaScript后終止功能

[英]Kill function after click event JavaScript

我有一個要在運行“關閉”單擊事件時停止的功能。

這背后的原因是當我第二次運行img.start click事件時,該函數再次被調用,並且現在運行兩次。

有問題的功能是幻燈片顯示,所以我確實需要功能只能在頁面上運行一次。

因此,為了清楚img.close ,當我單擊img.close ,我希望BannerSlideshow函數停止並且不再運行。

啟動功能點擊事件

$('img.start').click(function () {
  BannerSlideshow.Init()
});

結束功能點擊事件

$('img.close').click(function () {
  //stop function BannerSlideshow from running
});

幻燈片功能片段

var BannerSlideshow = (function () {
return {
    Init: function () {
        //slideshow functionality            
    }

我已經更具體地更新了我的問題,對不起。

您可以通過使用bind()和unbind()來實現

$('img.close').bind('click',function () {
         // your code
    $(this).unbind('click');
});

要么

您可以使用Off()

$(this).off('click');

用這個:

event.stopPropagation(); 

或使用on.click

並殺死使用

$(this).off();

要么

use .bind and  .unbind();

最好在這里查看: http : //api.jquery.com/category/events/event-handler-attachment/

您可以使用關閉方法。 關()

(從jQuery 1.7開始,首選.on()和.off()方法來附加和刪除元素上的事件處理程序

$('img.close').off('click');

為什么不將stop函數與布爾值一起使用?

var running = false;

$('img.close').click(function () {
    running = true;

});

如果運行= true,請使用stop()函數,否則開始幻燈片

我認為stop函數比解除綁定處理程序更好

StartSlideshow函數是什么樣的? 我想你可能有一個全局變量來運行幻燈片或不運行幻燈片...

function StartSlideshow() {
    globalVariableRunSlideshow = true;
    while (globalVariableRunSlideshow) {
         /* Do some slideshowing here */
    }
}

然后您的活動可以執行以下操作:

$('img.close').click(function () {
    globalVariableRunSlideshow = false;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM