我在完成某项任务时遇到了一些困难。我有以下代码
$(document).ready(function() {
var Result = 0;
var stop_process = false;
$('img').click(function(){
if( !stop_process ){
if( $(this).hasClass( 'home' ) ){
stop_process = true;
$('body').append('<div class="message">Your Result is: </div>' + Result);
}
if( $('img.home').length == 0 )
$(this).addClass('home');
var $elem1 = $(this).parent();
var $elem2 = $('span.last');
$(this).toggleClass('selected');
if ($elem2.length > 0) {
connect($elem1[0], $elem2[0], "#0F0", 5);
} else {
$elem1.addClass('last');
}
$('span').removeClass('last');
$elem1.addClass('last');
Result++;
}
});
我想禁止第二次点击,这样我就会有一个完整的圆圈,并且我已经浏览了所有对象一次。如果我申请.one()我得到了我想要的东西,但我无法完成圆圈,因为主页对象仍然无法点击。有什么方法可以解决这个问题吗?将.one()应用于每个对象,而不是“home”对象?
提前致谢!
整个代码:
答案 0 :(得分:0)
尝试使用jQuery off,您可以在其周围构建if语句来帮助您实现此目的。存储在您点击的第一个元素的变量中,并有一个计数器,这样您就可以确保在以前单击所有其他元素时只能单击第一个对象(关闭圆圈)。
答案 1 :(得分:0)
如果您想使用 .one ,可以使用jQuery过滤器:not(),例如$(body:not(.home))