不能在HTML站点中添加jQuery处理程序
Can't add jQuery handler to HTML site
我有一个单页网站:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.css" />
<link type="text/css" rel="stylesheet" href="stylesheet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.js"></script>
</head>
<body>
<h1>Hello World</h1>
<p>I'm hosted with GitHub Pages.</p>
<div id="map"></div>
<FORM>
<INPUT id="but" Type="BUTTON" Value="About Me" />
</FORM>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src=script.js></script>
</body>
</html>
我想添加一些处理程序按钮#but
,并尝试使用脚本在script.js
:
var mapClicked = function() {
alert("Map!");
// create a map in the "map" div, set the view to a given place and zoom
//var map = L.map('map').setView([55.432, 37.654], 13);
}
$(document).ready(function() {
$('#but').click(mapClicked());
});
但是当我在浏览器中运行这个html并点击按钮时,什么也没发生
通过引用函数的名称时将()
添加到函数名。这将直接调用函数,返回值将被分配为click事件的回调。通过删除函数名的()
(或者更确切地说是函数调用),函数被正确引用并在元素上发生click事件时被调用。
$('#but').click(mapClicked());
$('#but').click(mapClicked); // <----- Removed ()
相关文章:
- 如何使用jquery处理php循环通过元素
- HTML5拖放;Drop-使用jQuery处理事件
- 在谷歌应用引擎上用jQuery处理json表单
- Jquery处理提交按钮's单击事件而不中断表单发布
- Javascript/JQuery处理并发/异步调用和数据竞争
- 为什么hover()不能使用jquery处理添加的类
- 使用Jquery处理大量点击事件的更好解决方案
- Jquery处理ID中的特殊字符
- 如何使用JQuery处理zip文件的强制下载
- 调用传递给JQuery处理程序的函数
- 如何使用Javascript或Jquery处理HTML中的图像
- Flexslider 无法使用 Jquery 处理自动生成的内容
- JQuery 处理事件,但不执行函数
- 使用 JS 和 JQuery 处理表单输入
- 将 asp:imagebutton 替换为使用 jquery 处理图像
- 使用jQuery,如何触发由另一个版本的jQuery处理的事件
- 使用 jquery 处理 CSV
- jQuery:处理混合的html/js ajax响应
- 使用 jQuery 处理表单
- jQuery 处理多个输入