- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我担心我错过了一些非常简单的东西,但我已经尝试了多次尝试并出现了各种错误。关于代码:
<script>
document.getElementById("optStats").on("change", function(e) {
alert("Switch changed!");
});
</script>
<ons-switch modifier="list-item" id="optStats"></ons-switch>
所以上面的方法是行不通的。它生成错误 Uncaught TypeError: Cannot read property of on of null
.所以我假设我需要将该函数添加到 onload init 函数,但它仍然失败并出现相同的错误。
我已经尝试了此处列出的所有选项:https://onsen.io/guide/overview.html#EventHandling没有成功。这将包括使用 var 而不是 id 以及我认为可行的任何其他列出的内容。
编辑:完整代码无法运行,但可以在没有模板标签的情况下在 codepen 中运行。
<ons-template id="options.html" >
<ons-page>
<ons-toolbar>
<div class="center">Options</div>
</ons-toolbar>
<ons-list modifier="inset" style="margin-top:10px;">
<ons-list-item>
Detailed Stats
<ons-switch modifier="list-item" id="optStats"></ons-switch>
</ons-list-item>
</ons-list>
</ons-page>
</ons-template>
我在 ons.ready() 中使用它并在外部尝试过它导致相同的错误,cannot read property of addEventListener
,如上所列。
document.getElementById('optStats').addEventListener('change', function(e) {
console.log('click', e.target.checked);
});
最后更新我发誓:最后!!!!谢谢@Fran-dios!
处理完这个之后,init 不是你想要使用的事件,你肯定想使用 show 来完成我正在尝试做的事情。
document.addEventListener("show", function(event){
if (event.target.id == "pgOptions") {
document.getElementById('optStats').addEventListener('change', function(e) {
localStorage.setItem('useDetailedStats', e.target.checked);
useDetailedStats = e.target.checked;
});
document.getElementById('optStats').setChecked(useDetailedStats);
}
},false);
无论出于何种原因,在 <ons-tabbar>
上使用 init 时,无论何时按下选项卡,都会导致开关改变状态。通过使用 show,它不会。此外,当我记录 init 操作时,该页面即使未在应用程序启动时显示,仍被记录为两次 init 。显示不会导致此。无论哪种方式,@fran-dios 提供的代码都是获得我需要的东西的正确基础,他的回答仍然是正确的,我只需要使用不同的事件。
最佳答案
我想你是对的。也许你想用的是JS' addEventListener而不是 jQuery 的 on .其余的应该是正确的。
更新:
super 简单的例子:http://codepen.io/frankdiox/pen/WrKjew
<ons-page>
<ons-switch id="mySwitch"></ons-switch>
</ons-page>
-----
document.getElementById('my-switch').addEventListener('change', function(e) {
console.log('click', e);
});
更新 2:
真正的问题是在 Onsen UI 2 中初始化页面。最好的方法是使用 page life cycle事件,特别是 init
事件。
document.addEventListener("init", function(event) {
if (event.target.id == "my-page") {
document.getElementById("my-switch").addEventListener('change', function(e) {
console.log('click', e);
});
}
}, false);
关于javascript - Onsen 2.0 - 使用 Javascript 向 Ons-Switch 添加事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35123385/
这是 what I've got迄今为止。首先是脚本: ons.bootstrap(); .controller('AppController', function($scope) { $scop
我在 Cordova 项目中使用 Onsen UI,如何制作像 chevron、tappable 等自定义修饰符?在文档中,这与http://onsen.io/guide/overview.html#
我目前正在使用 onsen ui 构建我的第一个cordova应用程序。到目前为止看起来很有希望!但是我遇到了一个我无法解决的问题,我找不到答案。 我希望这是一个初学者的问题,并且可以由更有温泉经验的
我需要在 Onsen Ui 中启动外部网址/网站,而无需离开应用程序。我猜想我可以在需要的 ons-page 标签之间使用 iframe,但可能不太可靠。 这是我的第一个 Onsen Ui 项目。 吉
当我调用时,我在一个 Onsen UI 主页上加载了一个 js 对象 ons.navigator.pushPage('child_page.html') 如何在子页面上获取 js 对象? 最佳答案 请
认为这将在网站上的某个地方,因为所有 3 个示例图像都是这样的: 也许它是用phonegap完成的?那里不用担心。 我尝试将 ons-navigator 和各种项目设置为透明、背景颜色等。 任何人都知
我有两页: page1.html 有一个按钮打开 page2.html 与 pushPage('page2.html') .然后我想有一个可选择的参数(我正在使用单选按钮)返回到 page1.html
下面的代码 var i=0; i++; ons.notification.alert({message: i}); i++; ons.notification.alert({message: i});
我正在开发一个在 ons-list 中显示图像的应用程序(每个图像在一个 ons-list-item 中)每个图像都有不同的高度,所以我不能将项目的高度设置为固定的高度,也不能将 ons-list-i
没有 Angular 可以使用 Onsen 吗? Aurelia 数据可以绑定(bind)到 Onsen 吗? 最佳答案 是的,它可以在没有 Angular 的情况下使用。 您需要利用他们的 CSS,
关闭。这个问题需要debugging details .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 3年前关闭。 Improve this questio
当我向我的页面添加一个 ons-tabbar 时,它会与我的整个页面重叠,因此除了选项卡本身之外我无法单击任何内容。 我的页面如下所示(每个页面都有自己的 html 文件):
Onsen 中的默认设置是当按下设备返回按钮时应用程序关闭/存在。有没有办法在 Onsen 中控制它来模仿 ons-navigator 操作/页面历史记录? 谢谢! 最佳答案 在 PhoneGap/C
我已经通过 Monaca IDE 创建了一个新项目。该页面有ons.bootstrap(),onsenui版本是v1.3.8 - 2015-07-27。 我尝试添加 angular.module('
然后是循环中的一条语句 $('#myList').append("" + variableItem + ""); 可能还有类似这样的刷新 $('#myList').listview('refresh
我有一个这样的菜单:
而不是像基础示例中那样显示一个以上的项目 项目#1 项目#2 项目#3 我可以在每行两列或三列中排列什么项目,如下所示? 项目#1 项目#2 项目#3 项目#4 项目#5 项目#6 项目#7 项目#8
我是 OnsenUI 的新手。我正在尝试显示一个使用导航器的页面,并且我还想在同一页面上有一个侧边栏。根据文档,这是可能的,但我正在努力让它发挥作用。我目前有这个:
我在应用程序的每个页面上都放置了一个滑动菜单。奇怪的是,在根主页以外的所有页面上,滑动菜单并排打开两次。我似乎无法弄清楚为什么会这样。我已经将 swipable 从 true 设置为 false,这并
我在使用 Onsen UI 和 PhoneGap 处理表单提交时遇到问题。 当我有时和标签,表单不提交。由于我删除了这个 Onsen 原生标签,该表单突然就可以工作了。 HTML
我是一名优秀的程序员,十分优秀!