我刚开始使用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>
有什么想法吗?
答案 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.
});
});