【问题标题】:Button Listener with jQuery doesn't work带有 jQ​​uery 的按钮侦听器不起作用
【发布时间】:2023-03-30 04:04:02
【问题描述】:

所以我的问题是,我想在单击按钮时运行一些 jQuery 代码。

<input type="button" name="appointments_view" value="Alle Termine anzeigen" />

这是我的 jQuery-Class(为了测试,Listener 应该在控制台上打印出一些东西。)

"use strict";

$.Class("View", {
init : function() {

    $("[name='appointments_view']").click(function() {
        console.log("appointments_view");
    });

}
});

如果我在浏览器中运行它,Firebug 不会给我任何错误。当我点击按钮时,什么也没有发生。

将监听器放入 $(document).ready() 函数没有帮助。

提前感谢您的帮助!

【问题讨论】:

  • 试试input[name='appointments_view']
  • @Kweamod 如果您将点击处理程序放在 $.Class() 函数之外,它会绑定吗?我知道这是题外话,但 $.Class 有什么作用?我不熟悉这种语法,如果你能指导我看一些文档,我会很高兴。谷歌搜索 $.Class jquery 似乎没有多大帮助。
  • 你有没有在任何地方调用过init()方法?
  • 很抱歉,我也找不到合适的文档。我们只是在我们的类中使用这个方法,它在其他文件中也有效! init() 函数就像一个类的构造函数,所以它每次都会被调用。
  • 我不得不说@lante 的解决方案在 Chrome 上似乎对我有用。不知道为什么它对你不起作用

标签: javascript jquery button input click


【解决方案1】:

你为什么不把你的功能放在document.ready上?

$(function () {
    $("[name='appointments_view']").click(function() {
        console.log("appointments_view");
    });
});

Fiddle

【讨论】:

    【解决方案2】:

    我不确定 $.Class(..) 是什么?您是否正在尝试编写插件或其他东西。尝试在 Visual Studio 中运行您的代码并给我错误对象不支持此属性。在 jsFiddle 上应用它会产生另一个错误。但是将您的代码保持为常规脚本有效。也许你可以解释得更多。下面是jsFiddle链接

    $("[name='appointments_view']").click(function(){
    //your code goes here.
    });
    

    http://jsfiddle.net/ruchin/RsT6D/1/

    【讨论】:

    • 也许这有帮助:glossar.hs-augsburg.de/beispiel/tutorium/html5_canvas/minipong/… 这是我教授的一个 JS 项目。他使用 $.Class 我会尝试寻找更好的解释,但我不确定我是否会找到一个。我刚开始接触JS,所以我不能亲自告诉你,你想知道什么,对不起。
    • 如果您查看“lib”目录(向上一个目录查看),也许它会为您提供一些线索,说明这里发生了什么......
    【解决方案3】:

    我的问题是,HTML 是用 AJAX 加载的(.load() 函数)。 尽管 .load() 是在 (!) 侦听器之前编写的,但按钮没有响应。

    解决办法是,在.load()函数的回调函数中写监听器。

    看这里:

    dynamically add listener to ajax created content in jQuery

    【讨论】:

      猜你喜欢
      • 2013-09-01
      • 2011-04-15
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      • 1970-01-01
      • 2012-02-11
      相关资源
      最近更新 更多