javascript - 警报消息 onclick 事件

标签 javascript jquery

我正在尝试从 .cshtml 文件中调用按钮点击:

  <input type="button" id="ImageHosting" value="To Image Hosting" onclick="ImageHosting_Click()"/> 

这是 .js 文件:

 function ImageHosting_Click() {
               $("#ImageHosting").click(function () {
                   alert("test");
               });
       }

我无法收到警报消息。知道为什么吗?

最佳答案

您在 HTML 中内联绑定(bind)了事件处理程序,您还在函数内部使用 jQuery 再次绑定(bind),这是不正确的。

只需删除内联点击,

<input type="button" id="ImageHosting" value="To Image Hosting" />

并改变JS

$(document).ready ( function () {
    $("#ImageHosting").click(function () {
       alert("test");
    });
});

万一这个按钮是动态插入的,

$(document).ready ( function () {
    //replace document below with enclosing container but below will work too
    $(document).on('click', "#ImageHosting", function () {
       alert("test");
    });
});

如果您使用的是旧版本的 jQuery (< 1.7),请使用 .live/.delegate

关于javascript - 警报消息 onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9946846/

相关文章:

javascript - 如何使使用 replaceWith 添加的 html 的单选按钮的更改事件起作用

javascript - 使用谷歌地图自动添加纬度/经度到表单字段

javascript - jQuery - 单击事件未触发

jquery - 不同标签的各种背景颜色组合

javascript - 使用 Javascript 正则表达式获取元元素属性

JQUERY - 动画导航背景颜色

javascript - Backbone js 不使用 fetch() 用数据填充模型

javascript - 一页上的多个幻灯片效果不好

javascript - 在 Ember 中观察 ChildView 的正确方法?

javascript - 函数不会(正确)执行多次