按钮点击功能,易于初始化
Button click function for easy initialization
我正在尝试这样做,以便我可以轻松地初始化JQuery Ajax按钮。
这工作正常:
$(document).ready(function(){
$("#home").click(function(e){
e.preventDefault();
$.ajax({
type: "GET",
url: "/",
success: function(data) {
alert(data);
$("#content").html(data);
},
error: function(response) {
alert("ERROR:" + response.responseText);
}
});
});
});
我正在尝试通过将其变成函数来简化上述过程,并尝试了以下代码。但它不起作用。
$(document).ready(function(){
LoadContent("#home", "/");
LoadContent("#login", "/account/signin");
LoadContent("#signup", "/account/create");
LoadContent("#forgot", "/account/forgot-password");
});
function LoadContent(buttonID, url) {
$(buttonID).click(function(e){
e.preventDefault();
$.ajax({
type: "GET",
url: url,
success: function(data) {
alert(data);
$("#content").html(data);
},
error: function(response) {
alert("ERROR:" + response.responseText);
}
});
});
}
我认为它必须与 .click(function(e){}) 的设置方式有关。但是我对JQuery不是很熟悉。
这是我的建议。
- 给所有按钮一个通用类,比如
.ajax-button
- 为每个按钮指定一个
data-url
属性,并让它等于目标ajax
URL - 将代码简化为以下内容
JavaScript:
$(document).ready(function(){
$('.ajax-button').on('click', LoadContent);
});
function LoadContent(e) {
e.preventDefault();
$.ajax({
type: "GET",
url: $(this).data('url'),
success: function(data) {
alert(data);
$("#content").html(data);
},
error: function(response) {
alert("ERROR:" + response.responseText);
}
});
}
示例 HTML:
<button class="ajax-button" data-url="/account/create">Sign Up</button>
我会为每个元素提供一个单击事件侦听器,然后是一个用于 AJAX 调用的函数:
$(document).ready(function() {
$("#home").click(function() {
callAjax("/");
});
$("#login").click(function() {
callAjax("/account/signin");
});
function callAjax(url) {
$.ajax({
type: "GET",
url: url,
success: function(data) {
$("#content").html(data);
},
error: function(response) {
alert("ERROR:" + response.responseText);
}
});
}
});
相关文章:
- 使用javascript函数在页面初始化后加载jquery
- 未捕获错误:无法在初始化之前调用方法;
- 如何在剑道网格初始化后设置pageSizes
- React redux初始化功能,无论状态变化如何
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular
- 尝试初始化()Spine's控制器和故障
- Angular.js延迟控制器初始化
- 对插件初始化后动态加载的元素进行样式设置
- Angular JS控制器初始化错误
- 在XMLHttpRequest之后重新初始化jQuery
- ember-js组件初始化不同的函数
- Youtube JavaScript API不是't正在初始化
- 函数无法识别初始化的变量
- datepicker引导程序再次初始化
- jquery数据表在初始化时设置宽度
- 如何使用app和secret进行安全的解析初始化
- 从javascript中再次初始化c变量
- ng重复中的ng模型-初始化唯一作用域属性
- 正在Ajax调用上初始化主干视图
- 按钮点击功能,易于初始化