JQuery将函数名传递给变量并调用它
JQuery pass function name to a variable and calling it
我正在调整我的分页,但由于分页只执行GET请求,我计划让它执行AJAX Post请求,这样做是因为一个页面中可能有多个分页。
$(document).ready(function()
{
$(document).on('click', '.pagination a', function(e)
{
e.preventDefault();
var page = $(this).attr('href').split('page')[1];
var function_name = $(this).parent().closest('div').attr('data-function-name');
});
我计划使用function_name调用现有函数,然后将页面添加为该函数的参数传递值
比方说
function fetch_records(page)
{
//do something here
}
function fetch_notes(page)
{
//do something here
}
有人可以告诉我在不使用EVAL的情况下是如何做到这一点的吗?谢谢
更新
<div id="div_paginate" class="col-sm-6" style="display:block;" data-function-name="fetch_records">
<div id="div_possible_duplicate_paginate" class="pull-right"></div>
</div>
我想做的是,对于每个分页div,我都有一个数据属性,它将包含它应该调用的函数名。
您可以制作一个模块,该模块将包含所有AJAX方法,并基于data-function-name
从该容器中调用特定方法。类似这样的东西:
测试HTML:
<div id="div_paginate" data-function-name="fetch_records" class="grid">
Records..
</div>
<div id="div_paginate" data-function-name="fetch_notes" class="grid">
Notes..
</div>
JS:
// Module that contains your particular methods
var FuncsModule = (function(){
var fetch_records = function(page)
{
alert('fetching records ' + page + '..');
}
var fetch_notes = function(page)
{
alert('fetching notes ' + page + '..');
}
return {
fetch_records: fetch_records,
fetch_notes: fetch_notes
}
})();
// Implementation
$(document).ready(function() {
$(document).on('click', '.grid', function(e){
var action = ($(this).attr('data-function-name')),
page = Math.floor((Math.random() * 10) + 1); // some random number for tests
if (typeof(action) !== 'undefined'){
FuncsModule[action].call(this, page);
}
});
});
jsfiddle:
http://jsfiddle.net/avup23cg/
相关文章:
- 从带参数的字符串变量调用函数中的函数
- 将方法从控制器注入到未使用右变量调用的指令
- 为什么可以对整数变量调用toString(),而不能对文字数字调用
- 我可以对变量调用“.log”吗?
- 是否可以对超出范围的 setInterval 变量调用 clearInterval 方法
- 对模板中的胡子变量调用方法
- 使用不同的变量调用递归函数
- Jquery中的变量调用
- 将循环变量调用到自动压缩选择中
- 如何在 jquery 中用变量调用变量
- jQuery,从变量调用数组对象的一部分
- 在 AngularJS 中使用绑定变量调用控制器方法
- 如何使用变量调用对象及其方法
- 是否可以对变量调用jquery函数
- Android:从javascript传递变量调用Java中的函数
- 带有变量调用的谷歌地图API实现
- 无法对数字变量调用 toFixed
- 如何将嵌套的全局或本地jquery变量调用到html中
- Javascript:如何通过变量调用函数并传递参数
- 对字符串变量调用toUppercase()