0

我正在尝试在 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不太熟悉,任何帮助将不胜感激。

4

1 回答 1

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>
于 2013-08-01T22:35:21.153 回答