JavaScript-onclick

标签 javascript onclick

第一次在这里发帖,但天知道我一直使用这个网站来搜索问题:P 好吧,我现在遇到了自己的问题,我似乎无法轻松地在谷歌上搜索,玩了大约两个小时后,我终于决定发布一个问题,看看大家的想法。

我在这里想要完成的是,当您将鼠标悬停在 div 上时,该按钮会出现在 div 上,单击该按钮会打开一个编辑 Pane 。该按钮正确地显示在 div 上,但由于某种原因,我似乎无法使 onclick 函数发挥作用来拯救我的生命,哈哈。这是我正在使用的代码。如果还不够,请告诉我,我会加一点酱汁。 :P

function place_widget(name, properties){
//bbox
var pleft = properties[0];
var ptop = properties[1];
var width = properties[2];
var height = properties[3];
var pright = pleft + width;
var pbottom = pleft + height;
var bbox = [pleft, ptop, pright, pbottom];
boxes[name] = bbox;

//ID's
var id = 'widget_' + name;
var editspanid = id + "_editspan";
var editbuttonid = id + "_editbutton";
var editpaneid = id + "_editpane";

//Creating Elements
var div = "<div id='" + id + "' class='widget' onmouseover='widget_hover(event);' onmouseout='widget_out(event);'>";
var editbutton = "<a id='" + editbuttonid + "' href='#'><img onclick='toggleEdit;' src='../images/edit_button.png'></a>";
var editspan = "<span id='" + editspanid + "' class='editspan'>" + editbutton + "</span>";
var editpane = "<span id='" + editpaneid + "' class='editpane'>:)</span>";
div += editspan + editpane + "</div>";
body.innerHTML += div;

//Configuring Elements
var editspanelement = document.getElementById(editspanid);
var editbuttonelement = document.getElementById(editbuttonid);
editbuttonelement.onclick = alert; //Does nothing.
var editpaneelement = document.getElementById(editpaneid);
var mainelement = document.getElementById('widget_' + name);
mainelement.style.left = (pleft + leftmost) + "px";
mainelement.style.top = (ptop + topmost) + "px";
mainelement.style.width = width;
mainelement.style.height = height;
getContentsAJAX(name);
}

对丑陋的代码感到抱歉:P 有人知道为什么 onclick 函数不起作用吗?

此外,还有一些额外的信息:如果我打开 firebug 并输入:

document.getElementById('widget_Text_01_editbutton').onclick = alert;

当我点击按钮时,我得到:

uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0" data: no]

我不太确定这意味着什么。

谢谢!

最佳答案

你可以尝试改变:

<img onclick='toggleEdit;' src='../images/edit_button.png'>

至:

<img onclick='toggleEdit();' src='../images/edit_button.png'>

另外,“alert”是你写的函数吗?

关于JavaScript-onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7923350/

相关文章:

javascript - 在 Aurelia 应用程序中使用 Google 的 reCAPTCHA

javascript - 如何从数组中的对象访问属性?

javascript - 从数组列表中调用函数

javascript - html onclick上的多个函数调用

javascript - SharePoint 2013 onclick 未触发 - 而是加载 #

javascript - 在分组表中显示数组

javascript - AngularJS 错误 : Module ngAnimate is not available

javascript - 无法在导航点击事件上编辑 div

JavaScript onclick : how to pass the event variable?

android - 单击从 MYSQL 数据库获取的动态 ListView 的元素