jquery,将click事件附加到函数并与一系列javascript调用相结合?
我正在尝试将一个单击事件附加到一个按钮上,该按钮运行来自参数和自身的调用 我想要的是始终显示第一个警报,然后执行作为字符串存储在myparam.onclick中的第二个警报 非工作尝试:jquery,将click事件附加到函数并与一系列javascript调用相结合?,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试将一个单击事件附加到一个按钮上,该按钮运行来自参数和自身的调用 我想要的是始终显示第一个警报,然后执行作为字符串存储在myparam.onclick中的第二个警报 非工作尝试: var myparam = { onclick: 'alert("second");' }; $('#my_button_id').on('click', function(){ alert('first'); myparam.onclick }); 我知道如果我将myparam更改为合法函数,例如: va
var myparam = { onclick: 'alert("second");' };
$('#my_button_id').on('click', function(){ alert('first'); myparam.onclick });
我知道如果我将myparam更改为合法函数,例如:
var myparam = {onclick: function(){alert('second');} }
我可以这么说
$('#my_button_id').on('click', myparam.onclick);
但我仍然不知道如何将两者连接在一起。我不想每次调用myparam func时都调用第一个警报
非常感谢您的帮助。您应该看到配偶: 我的小小帮助是
//Clousure
(function($) {
//Document.ready
$(function(){
//I think you want this ?
let myparam = { onclick: function() { alert("second"); } };
$('#my_button_id').on('click', function(){ alert('first'); myparam.onclick() });
//Another way.
function doAlert (messages) {
alert(messages);
}
//Params Object
let my_params = {
onclick_first : function () { return doAlert('first') },
onclick_second : function () { return doAlert('second') }
}
//Event Click
$('#my_button_id').on('click',function(){
//First Alert
my_params.onclick_first();
//Second Alert
my_params.onclick_second();
});
});
})(jQuery);
你应该看到配偶: 我的小小帮助是
//Clousure
(function($) {
//Document.ready
$(function(){
//I think you want this ?
let myparam = { onclick: function() { alert("second"); } };
$('#my_button_id').on('click', function(){ alert('first'); myparam.onclick() });
//Another way.
function doAlert (messages) {
alert(messages);
}
//Params Object
let my_params = {
onclick_first : function () { return doAlert('first') },
onclick_second : function () { return doAlert('second') }
}
//Event Click
$('#my_button_id').on('click',function(){
//First Alert
my_params.onclick_first();
//Second Alert
my_params.onclick_second();
});
});
})(jQuery);
很接近:
var myparam = {onclick: function(){alert('second');} };
$('#my_button_id').on('click', function(){ alert('first'); myparam.onclick() });
您在函数调用的末尾遗漏了一个括号:myparam.onclick()
它已关闭:
var myparam = {onclick: function(){alert('second');} };
$('#my_button_id').on('click', function(){ alert('first'); myparam.onclick() });
函数调用末尾缺少括号:
myparam.onclick()
如果确实需要字符串,可以创建一个函数并将正文作为字符串提供,然后调用它:
var myparam={onclick:'alert(“second”);'};
$(“#我的_按钮_id”)。在('单击',函数()上{
警报(“第一”);
var fun=函数(myparam.onclick);
乐趣();
});代码>如果确实需要字符串,可以创建一个函数并将正文作为字符串提供,然后调用它:
var myparam={onclick:'alert(“second”);'};
$(“#我的_按钮_id”)。在('单击',函数()上{
警报(“第一”);
var fun=函数(myparam.onclick);
乐趣();
});代码>您可以使用该函数以字符串形式执行javascript代码
var myparam={
onclick:“警报(“第二”);”
};
$(“#我的_按钮_id”)。在('单击',函数()上{
警报(“第一”);
评估(myparam.onclick);
});代码>
单击
您可以使用该函数以字符串形式执行javascript代码
var myparam={
onclick:“警报(“第二”);”
};
$(“#我的_按钮_id”)。在('单击',函数()上{
警报(“第一”);
评估(myparam.onclick);
});代码>
单击
希望将其存储为字符串的用例是什么?必须在该字符串上使用eval()
,但这并不是没有重大安全问题的。另一种方法是将命名函数存储为字符串,并将参数存储为其他属性,然后从以下属性调用命名函数myFunctions[myparam.onclick](myparam.clickParams)
使用场景是一个json按钮数组,每个按钮都有自己的javascript调用,但是对于每个按钮,我还希望运行一个公共javascript调用,而不必重复将该调用放入数组。我想另一种选择是为附加函数使用第二个单独的jquery click处理程序。我更希望能够解析字符串,这样我也可以避免围绕javascript构建整个函数(){}调用。看看整个引导库是如何工作的,例如,您希望将其存储为字符串的用例是什么?必须在该字符串上使用eval()
,但这并不是没有重大安全问题的。另一种方法是将命名函数存储为字符串,并将参数存储为其他属性,然后从以下属性调用命名函数myFunctions[myparam.onclick](myparam.clickParams)
使用场景是一个json按钮数组,每个按钮都有自己的javascript调用,但是对于每个按钮,我还希望运行一个公共javascript调用,而不必重复将该调用放入数组。我想另一种选择是为附加函数使用第二个单独的jquery click处理程序。我更希望能够解析字符串,这样我也可以避免围绕javascript构建整个函数(){}调用。例如,看看整个引导库是如何工作的,但是那些函数不能被字符串化为JSONTH,这不是问题,我要看看,但是那些函数不能被字符串化为JSONTH,这不是问题,我要see@JaniB您询问如何执行第二个警报,该警报以字符串形式存储在myparam.onclick
中。这个答案不是你要的。@JaniB你要问的是如何执行作为字符串存储在myparam.onclick
中的第二个警报。这个答案不是你想要的。