0

Confluenceの特定のjqueryで問題が発生しています。私はこのコードを持っています:

## @param pmname:title=Name(select)|required=true|type=string

<script> 
AJS.toInit(function() {

$(".sectionMacroWithBorder").not(":contains('$parampmname')").addClass("hidden");

});

</script>

これは完璧に機能します-指定されたテキストを含まないすべてのセクションを非表示にします。ただし、クリック時に同じコードをアクティブ化するボタンを作成しようとすると

 ## @param pmname:title=Name(select)|required=true|type=string

 <script>
 AJS.toInit(function() {

 $('.wiki-content').append('<button id="addnew" type="button">$parampmname</button> ');

 $('addnew').on('click', 'button', function() {

 $(".sectionMacroWithBorder").not(":contains('$parampmname')").addClass("hidden");
  }); 

 });

 </script>

jqueryはページの下部にボタンを作成しますが、最初の例と同じ変数を使用してもクリックしても何も起こりません。私も試し.addnewてみ#addnewました.on .

これは、同様のボタンが機能するフィドル(Mark Schultheissに感謝します!)です:http://jsfiddle.net/Cecfu/1/

私は何か間違ったことをしていますか、それともConfluence jqueryの特異性ですか?

4

2 に答える 2

0

これ :

$('addnew').on('click', 'button', function() { ...

する必要があります:

$('#addnew').on('click', function() { ....

buttonの子であり、子ではid="addnew"ないため#addnew

または、必要に応じて最終的に行うことができます:

$('.wiki-content').on('click', '#addnew', function() { ...

...clickイベントを現在または将来の子要素に委任するid="addnew"

于 2012-12-12T08:29:44.920 に答える
0

クリックリスナーに#addnewを試してください

AJS.toInit(function() {

$('.wiki-content').append('<button id="addnew" type="button">$parampmname</button> ');

$('#addnew').on('click', 'button', function() {

$(".sectionMacroWithBorder").not(":contains('$parampmname')").addClass("hidden");
 }); 

});
于 2012-12-12T08:31:08.620 に答える