![](/img/trans.png)
[英]Why isn't my Javascript function continuously firing with setTimeout/clearTimeout?
[英]Why isn't my javascript onclick firing?
我要用一点Javascript来创建Safari扩展。 我在调试它时遇到了一些问题,因此我剥离了特定于扩展程序的组件以进行一些测试。 简短版:单击此javascript生成的按钮( moveButton
)不会执行任何操作。 我在Safari的控制台中没有任何错误,并且我能做的最好的Google搜索没有发现任何有用的信息。
我正在生成Javascript中的所有按钮代码,因为一旦将其调整回我的扩展名,就需要传递一个数组。
有什么想法或建议吗? 我要出去吃午饭吗?
function popoverEvent(event) {
var tabs = new Array("test1","test2","test3");
var tabsElement = document.getElementById("tab-list");
tabsElement.innerHTML = ""; // clear previous contents
var formElement = document.createElement('form');
formElement.setAttribute('name', 'tabs-form');
for (var i = 0; i < tabs.length; i++ ) {
var labelElement = document.createElement('label');
labelElement.setAttribute('for', 'tab' + i);
var divElement = document.createElement('div');
var inputElement = document.createElement('input');
inputElement.setAttribute('id', 'tab' + i);
inputElement.setAttribute('name', 'tabcheckboxes');
inputElement.setAttribute('value', i);
inputElement.setAttribute('type', 'checkbox');
var titleElement = document.createTextNode('testTitle' + i);
var urlElement = document.createElement('div');
urlElement.setAttribute('class', 'url');
urlElement.innerHTML = "testURL" + i;
divElement.appendChild(inputElement);
divElement.appendChild(titleElement);
divElement.appendChild(urlElement);
labelElement.appendChild(divElement);
formElement.appendChild(labelElement);
}
// Create button
var moveButton = document.createElement('button');
moveButton.setAttribute('type', 'button');
moveButton.onClick=function() {alert('Here is a pop up message');};
moveButton.innerHTML = "Move to New Window";
formElement.appendChild(moveButton);
tabsElement.appendChild(formElement);
}
您应该使用onclick
而不是onClick
:
更改:
moveButton.onClick=function() {alert('Here is a pop up message');};
至:
moveButton.onclick=function() {alert('Here is a pop up message');};
var moveButton = document.createElement('input');
moveButton.type = "submit"; //don't need that
moveButton.setAttribute('type', 'button');
moveButton.onClick=function() {alert('Here is a pop up message');};
moveButton.innerHTML = "Move to New Window";
并不意味着要两次设置type,而是创建元素'input'而不是'button'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.