1

里面有一些formatted文字textarea,光标在某个地方。我需要检查光标是否在某些特定标签之间。

示例: foo |bar

isBetween(['b', 'strong']); // should return true in above case

我有内部的回报function(有一些问题,但现在让我满意)。所以,我只需要那个。positioncursortextareaIEisBetween() function

谢谢你的帮助!

更新

<p>qwer<b>ty|ui</b>op</p>
isBetween(['p']); // should also return true, because the cursor in not only between 'b', it is between 'p' too
4

1 回答 1

1

 您应该用标签将标签之间的空间括起来span。然后,在 jQuery 中,使用该.mouseover()函数。

例子:

<b>TAG1</b>
<span id="spacer">&nbsp;</span>
<strong>TAG2</strong>

<script type="text/javascript">
    $("#spacer").mouseover(function(){
        //Do stuff
    });
</script>

跨度必须有一些东西,所以&nbsp;在那里放一个空间。

现场小提琴示例:http: //jsfiddle.net/PrruT/

更新:

我不会为你完成整个功能,但我会告诉你,你可以像这样设置它:

/* I'm assuming you can figure out how to get the cursor position on your own, represented by var cursor */

function isBetween(selectorOne, selectorTwo){
    var left = $(selectorOne).position().left; //Left position of the object
    var right = $(selectorTwo).position().left + $(selectorTwo).width(); //Right XY position of the object
    if (cursor > left && cursor < right)
        return true;
    else
        return false;
}
于 2012-09-03T14:30:33.827 回答