我有这个html元素:
<table id="miniToolbar">
<tbody>
<tr><td>
<button id="btnStrView" type="button" onclick='parent.ExecuteCommand()' class="button_air-medium">
<img id="streetView" class="miniToolbarContant" src="../stdicons/streetview-icon.png"></button>
</td></tr>
<tbody>
</table>
正如您在Click事件中看到的内部按钮:
onclick='parent.ExecuteCommand()'
我有这个JS功能:
function isMenuItemMasked(item)
{
var funcId = '75';
var elem = document.getElementById('btnStrView');
return false;
}
你可以看到里面的函数我有一个名为funcId的变量。
我需要将此funcId放入点击事件:
onclick='parent.ExecuteCommand('75')'
获取元素并将其放入elem变量后,如何将funcId
作为参数添加到parent.ExecuteCommand()
?
答案 0 :(得分:2)
我认为你想动态设置函数参数。不使用外部库我会这样做:
function runSubmit() {
var value = document.getElementById("text").value;
document.getElementById("run").addEventListener('click', function() {
func(value);
});
}
function func(value) {
console.log(value);
}
<input id="text" type="text">
<input type="submit" value="Setup Param" onclick="runSubmit()">
<input id="run" type="submit" value="Run with param">
如何使用此功能:运行代码段时,您会看到一个文本输入,一个Setup Param按钮和一个Run with param按钮。在文本输入中插入一些内容,然后单击“设置参数”。之后,单击Run with param以查看效果
输入文本包含将用作func(value)
参数的字符串。 #run
按钮回调的更新由“设置参数”通过runSubmit()
回调触发。此回调向#run
元素添加了'click'
事件的侦听器,该事件在事件发生时运行具有固定参数的函数。
这只是一个MCVE,您应该根据自己的情况进行调整。
嗯......实际上@jacob-goh在写这篇文章的时候给了你这个确切的解决方案......
答案 1 :(得分:0)
你可以使用jquery从函数内部调用函数并将你的变量传递给该函数。
function isMenuItemMasked(item)
{
var funcId = "75";
$(document).ready(function(){
$("#btnStrView").click(function(){
parent.ExecuteCommand(funcId);
});
});
}
function ExecuteCommand(your_var){
alert(your_var);
//your code
}