だから私は文字列の配列(私は右のそれをやったと思います)があります。文字列の配列に変数をマッチさせますか?
var editableObjects = ['.body-copy', 'img', '.subhead', '.meta', '.caption', '.hyperlink', '.bullet'];
マウスの下にある要素を取得する機能:
function getMouseElement(event) {
var posX = event.clientX,
posY = event.clientY;
// get the element that is located under the mouse
var overElem = document.elementFromPoint(posX, posY);
return overElem;
}
そして、このjqueryのリスナー「.editable」の要素にマウスオーバーのための時計:私は何をしようとしている
$('#wrapper').on('mouseover', '.editable', function(event) {
var m = getMouseElement(event);
console.log(m.className); /*This correctly returns the tag of the element under the mouse*/
for (var c = editableObjects.length - 1; c >= 0; c--) {
var o = editableObjects[c];
if (m.className = o) {
console.log(m + ' matches ' + o);
} else {}
}
});
、リストを関数を見て、エレメントマウスがあるかどうかでありますoverはeditableObjects
の文字列オブジェクトの1つに一致します。私のforループは、一致する要素のどれかの変数をチェックし、一致するものがあれば何かを実行することになっています。しかし、何時間も経ってからは、実際に一致するかどうかにかかわらず、forループが変数内のすべてのオブジェクトの一致を返すことしかできません。
問題は、ifステートメントではなく、 '=='です。単一の「=」は代入演算子であり、「==」は比較に使用されます。 – Raj
おそらく私はあなたの意図を誤解していますが、マウスオーバーイベントが特定の要素に対して発生したときを判断する必要がある場合は、単にイベントリスナーを親要素でなくカーソルの位置を特定するだけです。 on( 'mouseover' ...など) – smilebomb
私はちょうど2番目の引数を作るでしょう。 .on関数は配列の要素のセレクタです – James