Knockout Observable 和 Google Chrome 自动填充问题

2024-01-18

基本上,我在登录表单上有一个登录按钮,可以与 jQuery 1.8.3(我尝试过 1.9.0)和 Knockout 2.2.1 可观察对象一起正常工作,以及用于启用/禁用登录按钮的绑定。

当计算函数发现缺少用户名或密码时,启用按钮将被禁用。

但是,当 Google Chrome (24.0.1312.56 m) 在页面加载后不久自动填充文本框时,就会出现问题。视图模型和计算的可观察量不会检测 Chrome 何时更新文本框,因此该按钮保持禁用状态。

我做了一个基本的jsfiddle。我不知道如何让 jsfiddle 自动填充来显示这个问题:) 你只需要相信我。

JavaScript/视图模型

$(document).ready(function(e) {
    var loginViewModel = function() {

        var self=this;
        self.loginName = ko.observable("");
        self.loginPass = ko.observable("");

        self.loginInfoValid = ko.computed(function() {

            if (self.loginName().length > 0 && self.loginPass().length > 0) {
                return true;
            } else {
                return false;
            }

        });

    };

    ko.applyBindings(new loginViewModel());     
});

HTML

<input type="text" data-bind="value: loginName, valueUpdate:'afterkeydown'"><br>
<input type="text" data-bind="value: loginPass, valueUpdate:'afterkeydown'"><br>
<span data-bind="text: loginName"></span><br>
<button data-bind="enable: loginInfoValid">Login</button>

jsfiddle:http://jsfiddle.net/vW6Xy/1/ http://jsfiddle.net/vW6Xy/1/

谢谢你!!


你可以

  • bind a change事件处理程序到文本对象并手动调用self.loginInfoValid方法,或
  • use setTimeout等待一小段时间并手动调用self.loginInfoValid method.

If the change当 Chrom 自动填充时会引发事件,这将是我在这两个解决方案中的首选解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Knockout Observable 和 Google Chrome 自动填充问题 的相关文章

随机推荐

  • Solr (JVM) 每小时峰值

    SOLVED 在我们的例子中 问题是 SuggestRequestHandler requestHandler name suggest 现在已经设置了facelimit 10 此外 应用程序提出的每个建议请求都有多个请求 为什么这会导致
  • 在 WPF MVVM 中动态添加控件

    我正在开发一个动态搜索视图 其中单击按钮应添加一个包含 3 个组合框和 2 个文本框的新行 我该怎么做呢 如果您真的想做 mvvm 请尝试忘记 如何添加控件 您不必这样做 只需考虑您的视图模型 WPF 会为您创建控件 在您的情况下 假设我们
  • 使用 Comparable 比较通用变量

    对于我班级中的一个作业 我们有一个名为 Pair 的类的集合 我们需要根据键的值按升序对其进行排序 如果键是字符串或整数 我可以应用此方法 但是如何编写代码来比较我的项目 当它们是通用的时 如下所示 我班上的教授解释了如何处理整数或字符串
  • 为什么显示“更新Git索引失败”

    我正在使用Windows 当暂存文件时 我收到此错误 Updating the Git index failed A rescan will be automatically started to resynchronize git gui
  • 添加 HTTPS 支持会导致循环重定向

    我在 Web 应用程序中使用 Spring Security 框架 我已经安装了 SSL 证书并且能够通过以下方式访问我的应用程序https 现在 当我添加requires channel https 归属于所有人intercept url
  • AngularJS element.innerHTML 在指令中未定义

    假设我有 directives directive foo function return restrict A scope true link function scope element attr console log innerHT
  • 在单个“setup.py”中多次调用“setup()”是否安全?

    我正在开发一个包含 Cython 扩展的包 根据https github com pypa pip issues 1958 https github com pypa pip issues 1958我将使用setup requires并推迟
  • iOS5.1:同步任务(等待完成)

    我在同步 openWithCompletionHandler UIManagedDocument 与主要活动时遇到一个基本问题 情况 我有一个管理共享 UIManagedDocument 的单例类 这个类提供了一种应该交付的方法the文档处
  • 如何在 Android 模拟器中安装 .apk 文件? [复制]

    这个问题在这里已经有答案了 我想在 android 模拟器中安装我的 apk 文件 但是我打开了多个模拟器 5554 5556 并且我不想关闭任何一个模拟器 当有多个模拟器时如何在模拟器中安装 apk 文件模拟器打开了吗 你可以告诉adb您
  • 获取 play.api.libs.json.JsValue 的所有键

    我必须存储play api libs json JsValue列表的键 我如何做到这一点 var str json String val json JsValue Json parse str val data json data prin
  • 使用 sort() 对 unordered_map 进行排序 [重复]

    这个问题在这里已经有答案了 我正在尝试排序unordered map using sort 函数 但我不断收到编译器错误 有人可以帮忙吗 bool comp pair
  • MVC路由静态文件

    我正在使用一个旧版 swf 文件 该文件在控制器 操作路由中查找静态路由 例如 它正在尝试下载文件 http localhost 59801 Resource Details ClearExternalPlaySeekMute swf 当文
  • Android Studio:编译器发生异常(1.8.0_152-release)

    运行应用程序时 无法完成编译 继续抛出错误 我正在使用 dagger2 库进行注释 错误 15 04 36 466 错误 system err 编译器 1 8 0 152 release 中发生异常 请针对以下错误提交错误 Java 编译器
  • XCode“上传期间发生错误,rsync:失败”

    The last archives I ve made turn out into this error 日志显示此信息 此日志中省略了应用程序名称和路由 2016 06 28 08 53 48 0000 MT Upload failed
  • 如何发送到 Zend Framework 的自定义错误页面?

    我有可以被阻止的成员 当成员被阻止时我想将它们发送到自定义错误页面 我将如何在 zend 框架中做到这一点 我试过 throw new Zend Controller Dispatcher Exception Your message he
  • 如何将此平板电脑注册到 Ubuntu udev 列表?

    我有一台便宜的 Android 平板电脑 我需要用它来测试上面的应用程序 我使用的是 Ubuntu 所以我首先必须将设备添加到udev list 我连接了平板电脑 但是adb没有看到它 adb devices List of devices
  • 如何跨 Django 视图维护 LDAP 身份验证?

    目前的情况如下 我创建了一个登录 html我在表单中输入用户名和密码的页面 在我的views py我获取 POST 数据并使用用户名和密码对我的 LDAP 服务器进行身份验证 机制有效 如果用户名 密码错误 我将被重定向回登录页面并显示错误
  • 用于aws s3的python boto,如何获取存储桶中的排序和有限文件列表?

    如果存储桶上的文件太多 而我只想获取 100 个最新文件 我怎样才能只得到这些列表 s3 bucket list http boto readthedocs org en latest ref s3 html boto s3 bucket
  • 全局 Sass 导入和使用 - Nuxt 3 静态资产

    我正在尝试从以下位置导入全局 Sass 样式表 assets目录并使用在整个组件中定义的变量和混入等内容 我的nuxt config ts目前看起来像这样 import defineNuxtConfig from nuxt3 export
  • Knockout Observable 和 Google Chrome 自动填充问题

    基本上 我在登录表单上有一个登录按钮 可以与 jQuery 1 8 3 我尝试过 1 9 0 和 Knockout 2 2 1 可观察对象一起正常工作 以及用于启用 禁用登录按钮的绑定 当计算函数发现缺少用户名或密码时 启用按钮将被禁用 但