2009-04-29 70 views
2

我一直在使用谷歌搜索,現在嘗試了很長一段時間,但無處可去。所以在這裏:使DIV接受並通過JavaScript處理丟棄可能嗎?

我想要做的就是放在DIV標籤上的文本,並用JavaScript處理。沿着這些路線的東西:

<script type="text/javascript"> 

function handleDrop(sender, args) 
{ 
    $('#theDiv').html(args.textfromdrop); 
} 

</script> 

<div id="theDiv" ondrop="handleDrop()" /> 

<br/> 
<p> 
This is some simple text. Draggable? 
</p> 

所以,這個網頁上我希望能夠從段拖動的內容,例如到div,它會處理的下降,改變它的外形相應的(或者,也許只是顯示文字,只要它能處理它!)。我一直在嘗試使用jQuery,但它似乎是一個完整的其他模型,並且我無法將所有可能的可拖動對象設置爲這樣,因爲它們應該能夠來自任何地方。這甚至有可能嗎?

編輯:請糾正我,如果我錯了,但這些droppables都需要一個可拖動的放在它,對吧?我想要的是,你可以從你沒有任何控制的頁面中刪除文本,純文本。這聽起來很奇怪,但它是一個Firefox擴展,您可以將內容從頁面拖動到側欄中的另一個頁面。

回答

0

我會建議使用既定的JavaScript庫如jQuery或YUI。

0

或者如果你喜歡原型像我這樣做:http://wiki.github.com/madrobby/scriptaculous/droppables

編輯:基於您的修改後的問題:沒有,有沒有辦法可以讓用戶從一個頁面式文本到另一個頁面。除非你決定像你說的那樣建立一個FireFox擴展。即使您可以找到解決安全問題的方法,但無法爲不在同一個域下的頁面編寫腳本,您只能拖放它們所在窗口/ iFrame中的DOM元素。

0

您是否考慮過創建一個隱藏的textarea(即與css風格visibility:hidden)重疊有問題的div?然後使用onchange JavaScript事件檢查drop,或者如果這不起作用,請定期檢查非空字符串的textarea值。我猜你的里程會因瀏覽器和操作系統而異。

+0

這是一個好主意。當我回家時會嘗試。奢侈是我只需要這個在Firefox中工作。所有的操作系​​統,但。 – miccet 2009-05-04 06:17:34

0

我以前做過這件事,它可以在沒有任何圖書館的情況下完成一些工作。

我已經建立了以下方法:跟蹤你的鼠標移動

  1. 方法。
  2. 刪除時讀取和傳遞內容的方法。
  3. 用於拖放方法的onmousemove和onclick事件。
  4. OnMouseOver爲您想要放置文本的div區域 - 檢測指針是否位於容器(div)之上。
  5. 最後,在刪除文本後,我使用innerHTML刪除了原始內容(如果需要),因此它看起來像已被移動。

你幾乎可以通過這種方式實現類似於拖放功能的Windows。我用它來拖放圖像,圖標等。

如果您需要編碼方面的幫助,我可以給您一些指導,但大多數情況下您會發現如果您有一點Google,那麼您所需要做的就是讓他們一起工作。