警告消息onclick事件

Gol*_*ser 3 javascript jquery

我试图从.cshtml文件中调用按钮单击:

  <input type="button" id="ImageHosting" value="To Image Hosting" onclick="ImageHosting_Click()"/> 
Run Code Online (Sandbox Code Playgroud)

这是.js文件:

 function ImageHosting_Click() {
               $("#ImageHosting").click(function () {
                   alert("test");
               });
       }
Run Code Online (Sandbox Code Playgroud)

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

Sel*_*gam 6

您正在HTML中内联事件处理程序,您也使用jQuery在函数内再次绑定,这是不正确的.

只需删除内联onclick,

<input type="button" id="ImageHosting" value="To Image Hosting" />
Run Code Online (Sandbox Code Playgroud)

并改变JS

$(document).ready ( function () {
    $("#ImageHosting").click(function () {
       alert("test");
    });
});
Run Code Online (Sandbox Code Playgroud)

如果此按钮是动态插入的话,

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

使用.live/.delegate旧版本的jQuery(<1.7)


c24*_*24w 5

与 SKS 的回答相反(保持内联onclick属性):

<input type="button" id="ImageHosting" value="To Image Hosting" onclick="ImageHosting_Click()"/>
Run Code Online (Sandbox Code Playgroud)

function ImageHosting_Click(){
    alert("test");
}
Run Code Online (Sandbox Code Playgroud)

甚至全部合二为一:

<input type="button" id="ImageHosting" value="To Image Hosting" onclick="alert('test');"/>
Run Code Online (Sandbox Code Playgroud)


小智 5

// Try like this:

$("#ImageHosting").click(function() {
  alert("test");
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="ImageHosting" value="To Image Hosting" />
Run Code Online (Sandbox Code Playgroud)