回答
您可以使用event delegation,只有一個事件處理程序基本連接到您的整個文檔,並獲得該事件最初派遣元素,使用event.target:
document.body.onmousedown = function (e) {
e = e || window.event;
var elementId = (e.target || e.srcElement).id;
// call your re-create function
recreate(elementId);
// ...
}
function recreate (id) {
// you can do the DOM manipulation here.
}
編輯:您可以分配事件您所有的Scriptaculous的拖拽元素以這樣的方式
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"
});
});
檢查爲例here。
如果你要複製的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>
原來也需要刪除。 我正在嘗試對Scriptaculous拖放功能的某些代碼進行刪除原來的操作,然後在droppable div中寫入一個新的代碼,該代碼必須具有相同的類和ID。 我不會說謊,我不是一個很好的JavaScript,我發現我的靈感來自這裏:http://ashishware.com/MochikitDnD.shtml 但是他分配了一個id的Math.random (),而我需要保留相同的ID,所以我正在嘗試修補此問題,並使其能夠處理未知數量的可拖動項。不過,我相信我有第二部分。 – 2009-08-09 04:11:02
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;
// ...
}
爲了確保這一點很清楚,e會得到我的元素的值,然後我可以傳遞給一個全局變量,和/或調用一個新的函數作爲參數傳入e,是的? – 2009-08-09 04:15:39
是的克里斯。您可以傳遞實際的對象或ID,如CMS在他的示例中所做的那樣。 – Alex 2009-08-09 10:19:24
請將此代碼插入到您的JavaScript。
document.getElementById("article").onmouseup(handMu);
- 1. 獲取從指定剛剛註冊的用戶
- 2. 提取的xpath剛剛同級元素
- 3. Facebook:剛剛使用Photos.createAlbum創建的相冊ID
- 4. Python Selenium獲取剛剛輸入的元素變量
- 5. 剛剛創建的HTML元素的動態ID
- 6. 如何獲取剛剛點擊的按鈕用戶的ID?
- 7. 獲取剛剛插入的記錄的ID?
- 8. 如何獲取我剛剛插入的文件的主鍵ID?
- 9. 如何獲取剛剛插入的最新記錄的ID?
- 10. 如何獲取剛剛上傳的Youtube電影的視頻ID
- 11. 獲取剛剛發佈的記錄ID的最簡單方法
- 12. Magento - Adminhtml - 獲取剛剛創建的訂單ID
- 13. 從剛剛檢索到的id獲取Google Doc
- 14. 獲取行的ID剛剛插入MySQL數據庫
- 15. MoveToElement元素剛剛在屏幕上時
- 16. Django用戶註冊剛剛停止工作
- 17. 剛剛提交的mysql id字段
- 18. 剛剛保存的Java MongoDB ID
- 19. 如何剛剛從用戶ID獲取特定項目的視圖
- 20. 剛剛返回元素的XPath中的文本(蟒蛇/ LXML)
- 21. 使用剛剛創建的ID重定向
- 22. 金字塔:如何獲取剛剛創建的數據庫行的ID?
- 23. 剛剛使用Sharepoint 2010 Foundation
- 24. AS3調用剛添加的元素
- 25. 無法找到剛剛插入HTML由類的jQuery元素
- 26. 如何將事件添加到剛剛添加的jQuery元素?
- 27. WM_SETFOCUS,獲取剛剛失去焦點的應用程序
- 28. 如何爲剛剛創建的用戶獲取uId
- 29. 提取剛剛從 「A HREF」
- 30. 如何剛剛出現的一個元素上使用jQuery將焦點設置
完美,謝謝。 – 2009-08-09 04:23:41
不客氣! – CMS 2009-08-09 04:24:19
值得注意的是,在你處理這樣的事件時,你需要更加註意你在處理器內部做了什麼,因爲它可能被解僱*很多*。 – 2009-08-09 04:25:38