zoukankan      html  css  js  c++  java
  • Konckout第五个实例:各种事件绑定

    点击加一:

    <!doctype html>
    <html >
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>
        KNOCKOUT LESSON 4
      </title>
      <link rel="stylesheet" type="text/css" href="css/main.css" />
      <style>
      #content1{padding:16px;}
      </style>
      <script type="text/javascript" src="scripts/knockout30.js"></script>
    </head>
    
    <body>
        <div id="content1">
            <b id="countView" data-bind="html:CurrentIndex">0</b><br />
            <input id="countButton" type="button" value="点击" data-bind="click:CountAdd" />
        </div>
        
        <script type="text/javascript" src="scripts/jQuery183.js"></script>
        <script>
            $(document).ready(function(){
                /*var currentindex = 0;
                var countButton = $('#countButton');
                var countView = $('#countView');
                countButton.on('click',function(){
                    currentindex = currentindex + 1;
                    countView.html(currentindex);
                });*/
                var ViewModel = function(){
                    var self = this;
                    self.CurrentIndex = ko.observable(0);
                    self.CountAdd = function(){
                        var currentIndex = self.CurrentIndex();
                        currentIndex = currentIndex+1;
                        self.CurrentIndex(currentIndex);
                    }
                }
                var  currentViewModel = new ViewModel();
                ko.applyBindings(currentViewModel);
                
            });
        </script>
        
    </body>
    </html>

    点击加一,悬停变红:绑定多个事件

    <!doctype html>
    <html >
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>
        KNOCKOUT LESSON 4
      </title>
      <link rel="stylesheet" type="text/css" href="css/main.css" />
      <style>
      #content1{padding:16px;}
      </style>
      <script type="text/javascript" src="scripts/knockout30.js"></script>
    </head>
    
    <body>
        <div id="content1">
            <b id="countView" data-bind="html:CurrentIndex,style:{color:IndexColor}" style="">0</b><br />
            <!--<input id="countButton" type="button" value="点击" data-bind="click:CountAdd" />-->
            <input id="countButton" type="button" value="点击" data-bind="event:{click:CounterAdd,mouseover:CounterOver,mouseout:CounterOut}" />
        </div>
        
        <script type="text/javascript" src="scripts/jQuery183.js"></script>
        <script>
            $(document).ready(function(){
                var ViewModel = function(){
                    var self = this;
                    self.CurrentIndex = ko.observable(0);
                    self.CounterAdd = function(){
                        var currentIndex = self.CurrentIndex();
                        currentIndex = currentIndex+1;
                        self.CurrentIndex(currentIndex);
                    };
                    self.IndexColor = ko.observable('black');
                    self.CounterOver = function(){
                        self.IndexColor('red');
                    };
                    self.CounterOut = function(){
                        self.IndexColor('black');
                    };
                }
                var  currentViewModel = new ViewModel();
                ko.applyBindings(currentViewModel);
            });
        </script>
        
    </body>
    </html>

    改进:当点击到二十时,提示,并且隐藏

    <!doctype html>
    <html >
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>
        KNOCKOUT LESSON 4
      </title>
      <link rel="stylesheet" type="text/css" href="css/main.css" />
      <style>
      #content1{padding:16px;}
      </style>
      <script type="text/javascript" src="scripts/knockout30.js"></script>
    </head>
    
    <body>
        <div id="content1">
            <b id="countView" data-bind="html:CurrentIndex,style:{color:IndexColor}" style="">0</b><br />
            <!--<input id="countButton" type="button" value="点击" data-bind="click:CountAdd" />-->
            <input id="countButton" type="button" value="点击" data-bind="event:{click:CounterAdd,mouseover:CounterOver,mouseout:CounterOut}" />
        </div>
        
        <script type="text/javascript" src="scripts/jQuery183.js"></script>
        <script>
            $(document).ready(function(){
                var ViewModel = function(){
                    var self = this;
                    self.CurrentIndex = ko.observable(0);
                    self.CounterAdd = function(){
                        var currentIndex = self.CurrentIndex();
                        if(currentIndex >= 20){
                            alert('你点击次数过多');
                            $('#countView').hide();
                            return false;
                        }else{
                            currentIndex = currentIndex+1;
                            self.CurrentIndex(currentIndex);
                        }
                    };
                    self.IndexColor = ko.observable('black');
                    self.CounterOver = function(){
                        self.IndexColor('red');
                    };
                    self.CounterOut = function(){
                        self.IndexColor('black');
                    };
                }
                var  currentViewModel = new ViewModel();
                ko.applyBindings(currentViewModel);
            });
        </script>
        
    </body>
    </html>
  • 相关阅读:
    JS pop push unshift shift的作用与区别
    白话js this指向问题
    JS作用域,作用域,作用链详解
    angular $q promise详解
    白话$resource,$resource中的增删改查
    ng-app与ng-app='myApp'的区别
    详解 高效字节流
    详解 字节输出流 与 字节输入流
    阶段性复习与应用——复制多级文件夹
    详解 字节流
  • 原文地址:https://www.cnblogs.com/by-dxm/p/6742693.html
Copyright © 2011-2022 走看看