为了更好地使用Javascript,我正在为Javascript / jQuery游戏编写Tampermonkey脚本。我在页面上创建了一个按钮,但我无法从中运行任何功能。
我的问题是,如何从我添加到页面的按钮中运行这些功能?
这是我到目前为止所做的:
var w = unsafeWindow;
var $ = w.$;
$('#quest_form').append('<button id="autoGrind" name="autoGrind" onClick="autoGrind()">Auto Grind</button>');
var e = document.getElementById("quest_destination");
var strUser = e.options[e.selectedIndex].text;
function autoGrind(){
w.alert('Grind Started on Map: ' + strUser);
w.setInterval(grind(), 1000);
}
function grind(){
if(w.quest.weAreQuestingRightNow != false) { return; }
if(w.quest.tiredTime != 0) { return; }
quest.begin(true);
}
另外,我需要一种无休止地运行函数grind()
的方法。我不确定setInterval()
是否完全符合我的预期。
答案 0 :(得分:2)
不确定您是否找到了问题的解决方案,但经过数小时的努力才能获得解决方案:
我有这个工作:
function addBtn() {
$("#quest_form").each(
function () {
$(this).before("<input type='button' value='Auto Grind' id='autoGrind'>");
$('autoGrind').click(autoGrind());
}
);
}
addBtn();
关于此解决方案的四个注释:
.before()
,但.append()
也适用于您。通常我不会在这里提交答案,因为我不够了解,但我有一个相同的问题,所以我想我会分享我的经验。
祝你好运