【发布时间】:2012-11-25 05:44:27
【问题描述】:
<embed id="bottom" src="img/model/skirt.svg" onclick="control.colorClothes(this)" title="bottom" type="image/svg+xml" width="325" height="500"> </embed>
我想在鼠标点击时触发一个事件。
如果我使用 onload 和 onmouseover,而不是 onclick 或 onmouseup/down,则上述方法有效。
有什么想法吗?
** 编辑 **
感谢海报。我要找的代码是onload="this.getSVGDocument().onclick = function(event){alert(333);};"
它克服了三个不同的问题。
加载 svg 文件的延迟导致代码尝试在尚不存在的 svg 文件上执行时出现问题。
onclick 事件必须附加到 svg 元素。我不知道为什么,Tanzeels 的帖子显示了这一点,我的实验证实了这一点。
我尝试编写 onclick="alert(333)" 的方式不起作用。以上就是。同样,我不知道为什么,但在这一点上,我很乐意顺其自然。
【问题讨论】:
-
您是否尝试过类似:
onclick="javascript:control.colorClothes(this)" -
不,只是试一试。它没有效果。 Ta 的建议。
-
您可能不想这样做,但尝试使用 jQuery 附加事件,看看是否有帮助
-
这可能会有所帮助:stackoverflow.com/questions/9945265/… 看起来嵌入 svg 时,您不能在嵌入本身上调用 onclick,您必须采取变通方法。
-
我尝试过使用 jquery,但那不起作用,我查看了您指向的线程。令我震惊的是,他们解决的问题比我的要困难得多,这意味着有很多噪音而且我还没有达到那个水平。令人沮丧的是,从我在其他地方读到的内容,embed 应该能够处理事件并且它确实处理至少两个,但它似乎不是鼠标点击事件。
标签: javascript html javascript-events