Javascript: Link 运行函数不工作
Javascript: Link runs function not working
我正在创建一个 BF4 武器选择器(告诉你随机 weapons/attachments 装备),使用下面的函数,然后 link 刷新它(再次 运行 函数),但是当 link 被点击时,它不起作用(并且控制台中没有错误)
有任何想法吗? JSFiddle
澄清一下:文本显示为 link,但是当您单击 link(运行s javascript:CreateWeapons() 时,它确实不起作用,JSFiddle 或 javascript 控制台中没有错误)
JS:
function Random(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
function CreateWeapons() {
document.getElementById('text').innerHTML = ('<a href="javascript:CreateWeapons();">' +
'Primary: ' + Primary +
'<br>' +
'Secondary: ' + Secondary +
'</a>');
}
var Primary = Random(["M16A4", "M16A3", "M416", "None"]);
var Secondary = Random(["None",".44 Deagle"])
CreateWeapons();
// BF4 weapon chooser (using random values)
HTML:
<div id="weapons">
<div id="text"></div>
</div>
如果您希望主副武器在每次点击时发生变化,您可以在 CreateWeapons 方法中调用 Random 方法。
另外用href调用js函数也不好,可以用onclick代替。
这是为您更新后的工作代码。
function Random(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
function CreateWeapons() {
var Primary = Random(["M16A4", "M16A3", "M416", "None"]);
var Secondary = Random(["None",".44 Deagle"]);
document.getElementById('text').innerHTML = ('<a href="#" onclick="CreateWeapons();return false;">' +
'Primary: ' + Primary +
'<br>' +
'Secondary: ' + Secondary +
'</a>');
}
CreateWeapons();
// BF4 weapon chooser (using random values)
最好创建一个元素,然后使用它的 onclick
事件来调用函数,而不是使用内联 onclick
事件。试试这个,
function Random(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
var aElement = document.createElement("a");
aElement.href="#";
function CreateWeapons() {
var Primary = Random(["M16A4", "M16A3", "M416", "None"]);
var Secondary = Random(["None",".44 Deagle"]);
aElement.innerHTML = ('Primary: ' + Primary + '<br />' + 'Secondary: ' + Secondary);
document.getElementById('text').appendChild(aElement);
return false;
}
aElement.onclick = CreateWeapons;
CreateWeapons();
我正在创建一个 BF4 武器选择器(告诉你随机 weapons/attachments 装备),使用下面的函数,然后 link 刷新它(再次 运行 函数),但是当 link 被点击时,它不起作用(并且控制台中没有错误) 有任何想法吗? JSFiddle
澄清一下:文本显示为 link,但是当您单击 link(运行s javascript:CreateWeapons() 时,它确实不起作用,JSFiddle 或 javascript 控制台中没有错误)
JS:
function Random(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
function CreateWeapons() {
document.getElementById('text').innerHTML = ('<a href="javascript:CreateWeapons();">' +
'Primary: ' + Primary +
'<br>' +
'Secondary: ' + Secondary +
'</a>');
}
var Primary = Random(["M16A4", "M16A3", "M416", "None"]);
var Secondary = Random(["None",".44 Deagle"])
CreateWeapons();
// BF4 weapon chooser (using random values)
HTML:
<div id="weapons">
<div id="text"></div>
</div>
如果您希望主副武器在每次点击时发生变化,您可以在 CreateWeapons 方法中调用 Random 方法。
另外用href调用js函数也不好,可以用onclick代替。
这是为您更新后的工作代码。
function Random(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
function CreateWeapons() {
var Primary = Random(["M16A4", "M16A3", "M416", "None"]);
var Secondary = Random(["None",".44 Deagle"]);
document.getElementById('text').innerHTML = ('<a href="#" onclick="CreateWeapons();return false;">' +
'Primary: ' + Primary +
'<br>' +
'Secondary: ' + Secondary +
'</a>');
}
CreateWeapons();
// BF4 weapon chooser (using random values)
最好创建一个元素,然后使用它的 onclick
事件来调用函数,而不是使用内联 onclick
事件。试试这个,
function Random(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
var aElement = document.createElement("a");
aElement.href="#";
function CreateWeapons() {
var Primary = Random(["M16A4", "M16A3", "M416", "None"]);
var Secondary = Random(["None",".44 Deagle"]);
aElement.innerHTML = ('Primary: ' + Primary + '<br />' + 'Secondary: ' + Secondary);
document.getElementById('text').appendChild(aElement);
return false;
}
aElement.onclick = CreateWeapons;
CreateWeapons();