[英]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/
為什么不將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.