knockout click点击事件及事件源解释
生活随笔
收集整理的這篇文章主要介紹了
knockout click点击事件及事件源解释
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
綁定click點擊事件示例
<body>you've clicked<span data-bind="text:number"></span><button data-bind="click:count">Click Me</button> </body> <script type="text/javascript">var viewModel={number:ko.observable(0),count:function(){var preCount=this.number();this.number(preCount+1);}};ko.applyBindings(viewModel); </script>結果
you’ve clicked 0
Click Me
當點擊Click Me 的時候(you’ve clicked 0) 0會加1,無限疊加
事件源:( event )
在事件中,當前操作的那個元素就是事件源。比如網頁元素中a標簽和input都有onclick事件,當點擊a發生onclick事件時,事件源就是a標簽,當點擊input發送onclic事件是,事件源就是input.
有些情況,你可能需要使用事件源對象,Knockout會將這個對象傳遞到你函數的第一個參數:
<button data-bind="click: myFunction">Click me </button> <script type="text/javascript">var viewModel = {//knockout默認是將源事件作為函數的第一個參數,你可以在button中不傳event這個參數myFunction: function(event) {if (event.shiftKey) {} else {} }};</script>如何獲取事件對象那??
var e = event || window.event;這句話就是定義了一個變量來獲取事件對象,因為不同的瀏覽器獲取事件對象的方法有點不太一樣,IE下是window.event,標準下是event,為了兼容所以寫了event || window.event.
允許執行默認事件
//如果綁定了click事件后,默認事件為點擊事件href的時間將不會觸發 <a href="http://www.baidu.com" data-bind="click:myFunction" taget="_blank">Baidu</a><script type="text/javascript">var viewModel = {//當點擊A標簽時會執行這個函數,然后結束,不會進行跳轉myFunction: function() {alert("OK");}}; </script>//解決辦法 <a href="http://www.baidu.com" data-bind="click:myFunction" taget="_blank">Baidu</a><script type="text/javascript">var viewModel = {//當點擊A標簽時會執行這個函數后在進行跳轉myFunction: function() {alert("OK");return true;}}; </script>更多click事件請點擊這里
總結
以上是生活随笔為你收集整理的knockout click点击事件及事件源解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Petsc求解非线性方程,SNES对象的
- 下一篇: 坚持学英语 -- 公司前台MM 一日英语