[英]jQuery - click function not firing when content loaded from getjson
[英]JQuery getJson success function is firing on button click
我無法解決getjson成功事件。 當我在$(document).ready上調用$ .getJSON時,它的工作正常,當我在按鈕下單擊相同的代碼時,它就無法正常工作。
工作正常(在$(文件).ready下)
<html>
<head>
<title>API Logger</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js" ></script>
<script>
"use strict";
$(document).ready(function(){
var flickerAPI = "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?";
$.getJSON( flickerAPI,
{
tags: "mount everest",
tagmode: "any",
format: "json"
},
function(data)
{
alert("success");
});
});
</script>
</head>
<body>
<form>
<button id="btn1" >Execute</button>
</form>
</body>
不工作(在$('#btn1')下。('click',function()
<html>
<head>
<title>API Logger</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js" ></script>
<script>
"use strict";
$(document).ready(function(){
$('#btn1').on('click', function() {
var flickerAPI = "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?";
$.getJSON( flickerAPI,
{
tags: "mount everest",
tagmode: "any",
format: "json"
},
function(data)
{
alert("success");
});
});
});
</script>
</head>
<body>
<form>
<button id="btn1" >Execute</button>
</form>
</body>
它沒有用,因為你把按鈕放在窗體中
<form>
<button id="btn1" >Execute</button>
</form>
它會提交evertime你點擊其他意義上它會重新加載頁面。
只需在表單中定義按鈕類型即可。
試試這樣吧
<form>
<button type="button" id="btn1" >Execute</button>
</form>
或者只是在點擊事件中添加return false
$(document).ready(function () {
$('#btn1').on('click', function () {
var flickerAPI = "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?";
$.getJSON(flickerAPI, {
tags: "mount everest",
tagmode: "any",
format: "json"
}, function (data) {
alert("success");
});
return false;
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.