0

いずれかのボタンが 1 回クリックされた後、すべてのボタンを無効にしたい。

jQuery('div').find('input[type="submit"]').each(function(){
    jQuery(this).one('click', function(e) {
    jQuery(this).css({
        'background' : 'rgba(0, 0, 0, .15)',
        'outline' : '0',
        '-webkit-box-shadow' : 'inset 0 2px 4px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .05)',
        '-moz-box-shadow' : 'inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)',
        'box-shadow' : 'inset 0 2px 4px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .05)'
        }).unbind('click');


    });
})

ここに私の現在のライブスニペット: http://jsfiddle.net/HyJvQ/3/

編集:明確にしておらず申し訳ありません。

これらの要素は2回だけではありません..他のボタンがクリックされた後、各ペアの1つのボタンを無効にしたいです。更新されたフィドル: http://jsfiddle.net/283g7/

4

4 に答える 4

0

これは私が解決したいことです..そして私は .siblings() を使用して解決します

$('body div').each(function() {
$(this).find('input[type="submit"]').each(function(){
    $(this).one('click', function(e){
                $(this).css({'border': 'red 1px solid'});
                $(this).siblings().unbind('click');
                })
})
})

http://jsfiddle.net/283g7/2/

于 2013-05-01T04:04:45.007 に答える
0

prop()ボタンを無効にするために使用します

jQuery('div').find('input[type="submit"]').prop('disabled',true);

これを試して

var buttons=jQuery('div').find('input[type="submit"]');
buttons.each(function () {
  jQuery(this).one('click', function (e) {
     jQuery(this).css({'border' : 'red 1px solid' }).unbind('click');
     buttons.prop('disabled',true);

  });
})

これにより、内部のすべてのボタンが検出されdiv、無効になります

ここでフィドル

于 2013-04-30T07:32:50.253 に答える
0

このようなものが動作するはずです:

var $buttons = $('div input[type="submit"]');

$buttons.click(function (e) {
    $(this).css({'border' : 'red 1px solid' });
    $buttons.off('click');
})

デモ: http://jsfiddle.net/HyJvQ/9/

于 2013-04-30T07:33:44.287 に答える