2011-07-23 14 views
1

私はtextareaとdivを持っています。2つのHTMLコンポーネントを重ねて表示する

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
    <title>Test</title> 
    <script type="text/javascript" src="JSFile.js"></script> 
    <style type="text/css"> 
     .hidden {visibility: hidden;}   
    </style> 
</head> 
<body> 
    <textarea id="txtArea" onmouseover="mouseMoved();"></textarea> 
    <div id="hiddenDiv" class="hidden"></div> 
</body> 

テキストエリアに関連付けられているのonmouseoverイベントがあります。

function mouseMoved() { 
    var txtArea = document.getElementById("txtArea"); 
    var hiddenDiv = document.getElementById("hiddenDiv"); 
    var newHtml = ""; 
    var words=txtArea.value.split(" "); 
    for (i = 0; i < words.length; i++) { 
     newHtml += '<span>' + words[i] + '</span> '; 
    } 
    hiddenDiv.innerHTML=newHtml; 
} 

textareaに同じ層にhiddenDivを配置する方法はありますか?私がすることを目的とは何

ユーザーがtextareaの上にマウスと同様にdivを移動すると、そのイベントが伝える、マウスポインタの下の語が何であるように、div要素のspan秒でイベントを添付することです。私は私の問題をはっきりと表したいと思います。もっと知りたいのであれば、私は情報を提供します。

ありがとうございます。


編集:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
    <title>Test</title> 
    <script type="text/javascript" src="JSFile.js"></script> 
    <style type="text/css"> 
     .hidden { 
      position: relative; 
      /*visibility: hidden;*/ 
      top: -50px; 
      left: 5px; 
      z-index: -1; 
     }   
     .txtArea { 
      position: relative; 
     } 
    </style> 
</head> 
<body> 
    <textarea id="txtArea" class="txtArea" onmouseover="mouseMovedOnTextBox();"></textarea> 
    <div id="hiddenDiv" class="hidden"></div> 
    <label id="lbl"></label> 
</body> 
との.js:

function mouseMovedOnTextBox() { 
    var txtArea = document.getElementById("txtArea"); 
    var hiddenDiv = document.getElementById("hiddenDiv"); 
    var newHtml = ""; 
    var words=txtArea.value.split(" "); 
    for (i = 0; i < words.length; i++) { 
     newHtml += '<span onmouseover="mouseMovedOnSpan(\'' + words[i] +'\');">' + words[i] + '</span> '; 
    } 
    hiddenDiv.innerHTML=newHtml; 
} 

function mouseMovedOnSpan(word) { 
    document.getElementById("lbl").innerHTML=word; 
} 
+0

このページをチェックアウト:http://www.vinylfox.com/forwarding-mouse-eventsthrough-throughers/ –

答えて

0

私はvisibiliy使用しないように、あなたをお勧め:隠されたが、ディスプレイ:なし、最後の1を使用していません要素がページ内のスペースを使用しないことを意味し、あなたの状況を簡単に処理できます。
幸運

+0

ありがとうございました。編集中の修正コードを追加しました。 'visiblity:hidden'や' display:none'や 'z-index:-1'を使わないと' mouseMovedOnSpan'という関数が動作しています。しかし、上記の3つのCSSスタイル属性のいずれかを使用すると、その機能は使用できなくなります。私は何をすべきか? –

+0

divとtextareaを別の外部divに埋め込み、両方のコンテナであるそのイベントにイベントを関連付けようとしましたか? –

+0

私は2つの 'onmouseover'イベントを持っています。一つは' textarea'に関連し、もう一つは 'span'であり、' span'に関連するイベントはwordを引数として取ります。あなたは外部の 'div'と接続するために話しているイベントはどれですか? –

関連する問題