Confluence - 无法获取jQuery事件(单击)

时间:2013-07-29 15:31:16

标签: jquery confluence

我正在尝试在Confluence中使用jQuery,但我无法触发click事件。 这是代码,它位于Confluence内的用户宏中,因此我无法直接链接到页面。

<div class="simple-login">
    <form method="post" action="http://www.google.com">
        <span class="simple-username">
            <label for="test-username">$i18n.getText("username.name")</label>
            <input id="test-username" type="text" 
                                       name="os_username" autocomplete="off" />
        </span>
        <span class="simple-password">
            <label for="test-password">$i18n.getText("password.name")</label>
            <input id="test-password" type="password" name="os_password" />
        </span>
        <input type="button" name="btntestLogin" id="btntestLogin"
                                 class="button" data-actionrequest="testlogin" value="Login">
        #if ($remember-me)
            <input type="hidden" name="os_cookie" value="true" />
        #end
        <input type="hidden" name="os_destination" value="$link" />
    </form>    
</div>

 <script type="text/javascript">
         AJS.toInit(function() {
                 jQuery('#btntestLogin').on('click', function(e){
                    alert('test click');
                });
         });
         jQuery(document).ready(function() {
             jQuery('#btntestLogin').on('click', function(e){
                alert('test click');
            });
         });
 </script>

我对Confluence不太熟悉,任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

Confluence 5+使用jQuery 1.7,所以这段代码应该可以工作:

<script type="text/javascript">
     AJS.toInit(function($) {
             $('#btntestLogin').on('click', function(e){
                alert('test click');
            });
     });
</script>

5.0以下的Confluence版本使用jQuery 1.6.4或更低版本,而不是尝试:

<script type="text/javascript">
     AJS.toInit(function($) {
             $('#btntestLogin').bind('click', function(e){
                alert('test click');
            });
     });
</script>