.on()和切换一起工作

在这里快速提问,我似乎无法得到这个

$('#wrap').on('toggle', '#image', function(){  }); 

能够在里面切换? 有任何想法吗? 我试过谷歌搜索但没有运气。

这是我试图与.on一起工作的代码,因为目前它没有将更改应用于页面的所有元素,(有#image和#brick)

 $("#result_options").toggle(function() { var image_width = $('#image').width() / 2; var brick_width = $('#brick').width() / 2; $("#image").css("width",image_width); $("#image").css("padding","4px"); $("#brick").css("width",brick_width); },function (){ $("#image").css("width","300"); $("#image").css("padding","8px"); $("#brick").css("width","314"); $(this).html("Smaller Results"); }); }); 

你面临的问题是没有toggle事件; toggle()是一个jQuery方法。 要使用on()实现toggle() ,我认为您需要使用click事件,然后使用if语句来测试是否已切换某些内容,或切换为off / not-toggled

 $('#wrap').on('click', '#image', function(){ if (!$(this).attr('data-toggled') || $(this).attr('data-toggled') == 'off'){ /* currently it's not been toggled, or it's been toggled to the 'off' state, so now toggle to the 'on' state: */ $(this).attr('data-toggled','on'); // and do something... } else if ($(this).attr('data-toggled') == 'on'){ /* currently it has been toggled, and toggled to the 'on' state, so now turn off: */ $(this).attr('data-toggled','off'); // and do, or undo, something... } });