3

jQuery UIボタンを使用して、このようなことをしたいと思います。

$button.button();
// ...
$button.button('hide');
// ...
$button.button('show');

仕組みに似ていますenable/disable。ボタンを手動で非表示にして表示すると($button.hide(); $button.show();)、jQueryUICSSで非常に厄介なフォーマットになります...

ここで簡単なものが欠けていますか?

4

6 に答える 6

2

標準を実行するだけ$button.hide()で仕事はうまくいくはずですが、それは正確に何を台無しにしていますか?

できます$button.css('display', 'none')が、とにかくこれがすべて$button.hide()です。

あなたが求めていることを行う方法はないと確信しています。たとえそれが表示を設定するだけであったとしても、私が言及した方法のようなものはありません。display none を設定すると、ページのどこかで CSS が台無しになる理由を理解したほうがよいかもしれません。

于 2011-05-06T16:09:28.837 に答える
1

古いもの、私は知っていますが...最初にCSSで非表示にするボタンを定義する代わりに、ui-helper-hiddenのクラスでボタンを定義します。そうすれば、インスタンス化するまで非表示になります。display:noneは要素を非表示にし、スペースを占有しません。要素が非表示になり、要素が存在しないかのようにページが表示されます。これは、ボタンを非表示にすることとは異なります。これにより、ボタンは依然として画面スペースを占有するはずです。

インスタンス化後に最初に非表示のままにする必要がある場合は、非表示にすることができます

$elem.button().hide();

結果のjQueryUIボタンにはdisplay:inline-blockがあり、ui-helper-hiddenのdisplay:noneをオーバーライドします。

奇妙なレンダリングで問題が発生したことは一度もないので、問題に根本的な問題があった可能性があります。

于 2012-05-25T12:22:45.887 に答える
1

visibilityボタンの代わりにスタイルを使用するとdisplay、適切に作成できるはずです。visibility: hiddenスタイルは要素を非表示にするだけです。display: none$.hide() が使用するスタイルは、レンダリングされた DOM から要素を実際に削除します。

要するに試してみてください:

var newButton = $('a#some-button.hidden');

// Hide element, but allow it to use render space
newButton.attr('visibility', 'hidden');
newButton.attr('display', 'block');

// Create button
newButton.button();

// Revert element to the "normal" means of hiding (may be unnecessary)
newButton.attr('display', 'none');
newButton.attr('visibility', 'visible');

// Show button
newButton.show();

私はこれを数回前にやらなければなりませんでした。

于 2011-05-06T20:08:16.723 に答える
0

私のために働いたのはこれでした:

onclick="$(this).parent().css('display', 'none');"

于 2013-09-15T22:33:30.487 に答える
0

これは私にとって回避策です。jquery uiが実装を変更した場合、保証はありません。

$('#button-el').next().hide();

于 2013-07-18T06:08:49.837 に答える
0
**This might be easy for you:
Try this code:**
<html>
<head>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
<p>Click me away!</p>
<p><button id="demo"/>Hide me</button></p>
</body>
</html>
于 2012-11-26T09:47:40.403 に答える