Click事件在TizenEvent上不起作用

时间:2017-03-15 07:33:36

标签: jquery tizen tizen-wearable-sdk tizen-web-app tizen-emulator

我刚开始使用tizen web为Samsung Gear S3开发应用程序,但我遇到了几个问题。我现在面临的问题很奇怪。 在下面的代码中,listview中显示了几个项目,因此每当我尝试单击列表视图中的项目时,单击都不会在模拟器中触发,但是,它在浏览器中工作正常。我不确定我在这做什么

以下是每次使用点击项目时都会触发的javascript代码段

<script type="text/javascript">
        $('#dynamicList li').click(function(){
            //console.log($(this).attr('data-value'));
            alert($(this).attr('data-value'));    // this will alert data-value value.

         });
    </script>

完整代码段

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width,user-scalable=no">
    <title>Macy's MyStore app</title>
    <link rel="stylesheet" href="lib/tau/wearable/theme/default/tau.min.css">
    <link rel="stylesheet" media="all and (-tizen-geometric-shape: circle)" href="lib/tau/wearable/theme/default/tau.circle.min.css">
    <!-- load theme file for your application -->
    <link rel="stylesheet" href="css/style.css">
        <script type="text/javascript" src="lib/tau/wearable/js/tau.min.js"></script>
    <script src="app.js"></script>
    <script src="lowBatteryCheck.js"></script>


     <script src="js/jquery.min.js" type="text/javascript"></script>
     <script src="js/jquery.js" type="text/javascript"></script>

    <script src="js/orderProcesing.js" type="text/javascript"></script>  
</head>
<script type="text/javascript">
    $('#dynamicList li').click(function(){
        //console.log($(this).attr('data-value'));
        alert($(this).attr('data-value'));    // this will alert data-value value.

     });
</script>
<body>
    <div class="ui-page ui-page-active" id="main">
        <header class="ui-header">
            <h3 class="ui-title">Open Fulfillment Order</h3>
        </header>

         <div class="ui-content" id="ordersWidget">

            <ul class="ui-listview" id="dynamicList">
               <li> 
                  <a href="#" data-value="S">1line</a>
               </li>
               <li> 
                  <a href="#" data-value="M">2line</a>
               </li>
               <li> 
                  <a href="#" data-value="L">3line</a>
               </li>
               <li> 
                  <a href="#" data-value="S1">4line</a>
               </li>
               <li> 
                  <a href="#" data-value="S2">5line</a>
               </li>
            </ul>


          </div>

        <footer class="ui-footer ui-bottom-button">
             <a href="#" class="ui-btn">Logo</a>
   </footer>
    </div>


</body>
</html>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你不要等到你的javascript,直到页面加载完成,所以

 //Adds click handler to #dynamicList li that are currently in the dom.
 $('#dynamicList li').click(function(){
    //console.log($(this).attr('data-value'));
    alert($(this).attr('data-value'));    // this will alert data-value value.
 });

在dom加载之前已经执行。因此,此代码下面的dom中没有项目将具有此单击处理程序。

您应该将代码封装在文档就绪回调中:

$( document ).ready(function() { //dom is now loaded in.
    $('#dynamicList li').click(function(){
        //console.log($(this).attr('data-value'));
        alert($(this).attr('data-value'));    // this will alert data-value value.
    });
});