jquery mobile在嵌套按钮上添加点击事件

发布于 2024-11-26 01:42:01 字数 1024 浏览 1 评论 0原文

我有一个嵌套按钮,我尝试在其上添加单击事件,但它似乎不起作用。

这是我的对象

<div id="ui-50">
<div class="ui-rpc" data-role="controlgroup" data-type="horizontal" >
    <input type="button" id="rpc-bor" value="<<" />
    <input type="button" id="rpc-back"  value="<" />
    <span style="margin:3px"></span>
    <input type="text" id="rpc-jump" value=""  />
    <input type="button" id="rpc-next" value=">" />
    <input type="button" id="rpc-eor" value=">>" />
    <span style="margin:20px"></span>
    <label id="rpc-current" >0</label>
    <label id="rpc-separator" >/</label>
    <label id="rpc-total" >0</label>
    <span style="margin:20px"></span>
    <label id="rpc-rpp" >0</label>
</div>
</div>

,我尝试使用 id="rpc-eor" 按钮添加单击事件,

$("#ui-50 .ui-rpc #rpc-eor").click(function(){
    alert("yay!");
});

但该事件不会触发。什么事?请帮忙!提前致谢

i have a nested buttons and im trying to add click events on it but it seems not to be working.

this is my object

<div id="ui-50">
<div class="ui-rpc" data-role="controlgroup" data-type="horizontal" >
    <input type="button" id="rpc-bor" value="<<" />
    <input type="button" id="rpc-back"  value="<" />
    <span style="margin:3px"></span>
    <input type="text" id="rpc-jump" value=""  />
    <input type="button" id="rpc-next" value=">" />
    <input type="button" id="rpc-eor" value=">>" />
    <span style="margin:20px"></span>
    <label id="rpc-current" >0</label>
    <label id="rpc-separator" >/</label>
    <label id="rpc-total" >0</label>
    <span style="margin:20px"></span>
    <label id="rpc-rpp" >0</label>
</div>
</div>

im trying to add click event on id="rpc-eor" button using

$("#ui-50 .ui-rpc #rpc-eor").click(function(){
    alert("yay!");
});

but the event wont fire. what is the matter? please help! thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谁的年少不轻狂 2024-12-03 01:42:01

我在 Chrome 中使用 jQuery 运行的演示中看到了 console.log 输出,正如预期的那样。 mobile 1.0b1

<!DOCTYPE html> 
<html> 
  <head> 
     <title>Page Title</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.css" />
    <script src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
        $("div:jqmData(role='page')").live('pageshow',function(){
            $("#ui-50 .ui-rpc #rpc-eor").click(function(){
                console.log("yay!");
            });
        });
    });
    </script>
</head> 
<body>
<div data-role="page" id="home">
    <div data-role="header">
       <h1>Header</h1>
    </div>
    <div data-role="content">
        <div id="ui-50">
            <div class="ui-rpc" data-role="controlgroup" data-type="horizontal" >
                <input type="button" id="rpc-bor" value="<<" />
                <input type="button" id="rpc-back"  value="<" />
                <span style="margin:3px"></span>
                <input type="text" id="rpc-jump" value=""  />
                <input type="button" id="rpc-next" value=">" />
                <input type="button" id="rpc-eor" value=">>" />
                <span style="margin:20px"></span>
                <label id="rpc-current" >0</label>
                <label id="rpc-separator" >/</label>
                <label id="rpc-total" >0</label>
                <span style="margin:20px"></span>
                <label id="rpc-rpp" >0</label>
            </div>
        </div>
    </div>
</div>
</body>
</html>

注意:没有document.ready() for jQuery.mobile 因此,如果您将 jQuery 封装在 just document.ready() 中,那么它可能会导致您的问题。最好绑定 $("div:jqmData(role='page')").live('pageshow',...); 以保证页面已准备就绪。也就是说,在这个简单的情况下,即使没有 .live 绑定,它仍然可以工作。

I am seeing the console.log output as expected in this demo I ran in Chrome, using jQuery.mobile 1.0b1

<!DOCTYPE html> 
<html> 
  <head> 
     <title>Page Title</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.css" />
    <script src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
        $("div:jqmData(role='page')").live('pageshow',function(){
            $("#ui-50 .ui-rpc #rpc-eor").click(function(){
                console.log("yay!");
            });
        });
    });
    </script>
</head> 
<body>
<div data-role="page" id="home">
    <div data-role="header">
       <h1>Header</h1>
    </div>
    <div data-role="content">
        <div id="ui-50">
            <div class="ui-rpc" data-role="controlgroup" data-type="horizontal" >
                <input type="button" id="rpc-bor" value="<<" />
                <input type="button" id="rpc-back"  value="<" />
                <span style="margin:3px"></span>
                <input type="text" id="rpc-jump" value=""  />
                <input type="button" id="rpc-next" value=">" />
                <input type="button" id="rpc-eor" value=">>" />
                <span style="margin:20px"></span>
                <label id="rpc-current" >0</label>
                <label id="rpc-separator" >/</label>
                <label id="rpc-total" >0</label>
                <span style="margin:20px"></span>
                <label id="rpc-rpp" >0</label>
            </div>
        </div>
    </div>
</div>
</body>
</html>

Note: there is no document.ready() for jQuery.mobile so if you have wrapped the jQuery in just document.ready() then it might be causing your problem. It is better to bind on $("div:jqmData(role='page')").live('pageshow',...); to guarantee that the page is ready. That said, in this simple case it still works without the .live bind.

二智少女猫性小仙女 2024-12-03 01:42:01

仅尝试 ID

$("#rpc-eor").click(function(){
    alert("yay!");
});

Try only the id

$("#rpc-eor").click(function(){
    alert("yay!");
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文