Javascript 使用onmousedown获取刚才鼠标所属元素的ID?
这可能吗 我正在尝试为onmousedown编写一个函数,该函数将返回您刚才单击的元素的ID,供以后在其他分区中重新创建该元素时使用。您可以使用,基本上只将一个事件处理程序连接到整个文档,并使用以下方法获取事件最初调度的元素: 编辑:您可以通过以下方式将事件分配给所有Scriptaculous DragTables:Javascript 使用onmousedown获取刚才鼠标所属元素的ID?,javascript,onmousedown,Javascript,Onmousedown,这可能吗 我正在尝试为onmousedown编写一个函数,该函数将返回您刚才单击的元素的ID,供以后在其他分区中重新创建该元素时使用。您可以使用,基本上只将一个事件处理程序连接到整个文档,并使用以下方法获取事件最初调度的元素: 编辑:您可以通过以下方式将事件分配给所有Scriptaculous DragTables: Event.observe(window, 'load', function () { Draggables.drags.each(function (item) {
Event.observe(window, 'load', function () {
Draggables.drags.each(function (item) {
Event.observe(item.element, 'mousedown', function () {
alert('mouseDown ' + this.id); // the this variable is the element
}); // which has been "mouse downed"
});
});
检查一个示例。如果要复制div id,一个简单的方法可能是如下所示的cloneNode:
<div id="node1">
<span>ChildNode</span>
<span>ChildNode</span>
</div>
<div id="container"></div>
<script type="text/javascript">
var node1 = document.getElementById('node1');
var node2 = node1.cloneNode(true);
node2.setAttribute('id', 'node2');
var container = document.getElementById('container');
container.appendChild(node2);
</script>
子节点
子节点
var node1=document.getElementById('node1');
var node2=node1.cloneNode(真);
setAttribute('id','node2');
var container=document.getElementById('container');
container.appendChild(node2);
CMS几乎有正确的答案,但您需要使其更易于跨浏览器使用
document.body.onmousedown = function (e) {
// Get IE event object
e = e || window.event;
// Get target in W3C browsers & IE
var elementId = e.target ? e.target.id : e.srcElement.id;
// ...
}
请将此代码插入您的javascript
document.getElementById("article").onmouseup(handMu);
原件也需要删除。我试图在Scriptaculous拖放功能中添加一些代码,这些代码将删除原始的,然后在droppable div中编写一个新的,必须具有相同的类和ID。我不会撒谎,我还不是一个javascript天才,我在这里发现了我的灵感:但是他分配了Math.random()的ID,然而,我需要保留相同的ID,所以我正在尝试将其修补,并使其与未知数量的可拖动项一起工作。不过,我相信我已经记下了第二部分。为了确保这一点是清楚的,e将有我元素的值,然后我可以将其传递给一个全局变量,和/或调用一个新函数,以传入e作为参数,是吗?是的。您可以像CMS在他的示例中那样传递实际对象或id。值得注意的是,在DOM中处理这样的事件的级别越高,您就越需要小心处理程序内部的操作,因为它可能会被触发。您知道,在进一步编码之后,当我点击scriptaculous Dragable时,这似乎不起作用。当我单击静态元素时,事件不会触发,因此不会返回ID,并且我的项目复制失败=\
document.getElementById("article").onmouseup(handMu);