実現させたい事
BUTTONを押したときにlist-itemのtappableのタップアクションを無効にしたいです。
概要
プラットフォーム:Onsen UI V2 JS Tabbar
該当のソースコード
HTML
1<!DOCTYPE HTML> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"> 6 <meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> 7 <script src="components/loader.js"></script> 8 <script src="lib/onsenui/js/onsenui.min.js"></script> 9 10 <link rel="stylesheet" href="components/loader.css"> 11 <link rel="stylesheet" href="lib/onsenui/css/onsenui.css"> 12 <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css"> 13 <link rel="stylesheet" href="css/style.css"> 14 15 <script> 16 17 18 document.addEventListener('show', function(event) { 19 var page = event.target; 20 var titleElement = document.querySelector('#toolbar-title'); 21 22 if (page.matches('#first-page')) { 23 titleElement.innerHTML = 'My app - Page 1'; 24 } else if (page.matches('#second-page')) { 25 titleElement.innerHTML = 'My app - Page 2'; 26 } 27 }); 28 29 if (ons.platform.isIPhoneX()) { 30 document.documentElement.setAttribute('onsflag-iphonex-portrait', ''); 31 document.documentElement.setAttribute('onsflag-iphonex-landscape', ''); 32 } 33 </script> 34 <script src="test.js"></script> 35</head> 36<body> 37 <ons-page> 38 <ons-toolbar> 39 <div class="center" id="toolbar-title"></div> 40 </ons-toolbar> 41 <ons-tabbar position="auto"> 42 <ons-tab label="Tab 1" page="tab1.html" active> 43 </ons-tab> 44 <ons-tab label="Tab 2" page="tab2.html"> 45 </ons-tab> 46 </ons-tabbar> 47 </ons-page> 48 49 <ons-template id="tab1.html"> 50 <ons-page id="first-page"> 51 52 <ul class="list" id="ons-list"></ul> 53 54 </ons-page> 55 </ons-template> 56 57 <ons-template id="tab2.html"> 58 <ons-page id="second-page"> 59 <p style="text-align: center;"> 60 This is the second page. 61 </p> 62 </ons-page> 63 </ons-template> 64</body> 65</html>
javascript
1// test.js 2ons.ready(function(){ 3 4 5var list = []; 6 7for(var i = 1; i <= 90; i++){ 8 list.push( 9 '<li id="item" class="list-item list-item--longdivider list-item--tappable" onclick="test();">' + 10 11 '<div class="list-item__center">Item '+ i + '</div>' + 12 '<div class="list-item__right"><button class="button" onclick="test2();">BUTTON</button></div>' + 13 '</li> ' 14 ) 15} 16 17document.getElementById('ons-list').innerHTML = list.join(''); 18 19}); 20 21function test(){ 22 ons.notification.toast('リストからタップ', { timeout: 1000, animation: 'fall' }) ; 23} 24 25function test2(){ 26 event.stopPropagation(); 27 ons.notification.toast('リスト内のボタンからタップ', { timeout: 1000, animation: 'fall' }) ; 28}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/28 10:43 編集
2020/05/28 10:45
2020/05/28 12:27
2020/05/28 15:22
2020/05/29 11:16