Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以通过divcontainer触发Mouseevents?_Javascript_Jquery_Events_Triggers - Fatal编程技术网

Javascript 是否可以通过divcontainer触发Mouseevents?

Javascript 是否可以通过divcontainer触发Mouseevents?,javascript,jquery,events,triggers,Javascript,Jquery,Events,Triggers,我有一个ID为mypointer的div元素,它有一个绝对位置。我使用jquery在页面上设置这个div的动画。目标是一个演示,其中元素在div元素上显示与鼠标指针相同的属性。所以我想模拟鼠标悬停、单击和右键单击事件。 可能吗?有人能给我举个例子,告诉我怎么做吗 谢谢你的回答 劳拉 附言。 这里的例子 红色正方形位于h1元素上方。当mypointer和h1元素发生冲突时,是否可以执行h1 mouseover事件?我不太确定您是否理解,但要“模拟”类似于mouseover等事件,您始终可以使用jQ

我有一个ID为mypointer的div元素,它有一个绝对位置。我使用jquery在页面上设置这个div的动画。目标是一个演示,其中元素在div元素上显示与鼠标指针相同的属性。所以我想模拟鼠标悬停、单击和右键单击事件。 可能吗?有人能给我举个例子,告诉我怎么做吗

谢谢你的回答

劳拉

附言。 这里的例子
红色正方形位于h1元素上方。当mypointer和h1元素发生冲突时,是否可以执行h1 mouseover事件?

我不太确定您是否理解,但要“模拟”类似于
mouseover等事件,您始终可以使用jQuery的以下形式:

$('#my_div_id').trigger('mouseover');
您还可以调用更“详细”的版本,在该版本中可以指定事件参数

$('#my_div_id').trigger({
   type:    'keypress',
   which:   13,
   ctrlKey: true
});

当按下
ctrl键
到“my\u div\u id”时,哪个事实会模拟返回键。如果您只需要执行事件处理程序代码,请使用..

也许我不完全理解您的想法,但我编写了一些代码

它的工作原理非常简单。我们在#mypointer和h1(或任何其他选择器)上绑定两个事件“click mouseover”。当事件在#mypointer上触发时,我们检查每个h1元素,使其位置与#mypointer的位置相匹配,如果匹配,则触发匹配元素上的事件


"use strict";
/*global $*/
function getElementCoordinates(el) {
  return {
    left: el.offsetLeft,
    right: el.offsetLeft + el.offsetWidth,
    top: el.offsetTop,
    bottom: el.offsetTop + el.offsetHeight
  };
}
对不起,解析器“eat”checkIntersection函数,所以完整的代码在

wbr,
Roman.

您想模拟事件…还是仅仅触发连接到这些事件的事件处理程序?我想,如果我有一个h1元素,我就有代码$(“h1”).mouseover(function(){$(“#output”).text('I over the h1元素');});当div#mypointer在h1元素上设置动画时,该代码也将执行。如果div与页面上的某个元素发生冲突,并且我在div#mypointer上调用了一个方法,我希望另一个元素的clickeventhelper触发并将被执行。在javascript中,这不是两个元素相遇时触发的冲突事件(据我所知)。您可能需要手动完成。谢谢您的工作。我没有搜索一个元素mypointer,它会对我的鼠标指针做出反应,并触发另一个元素的事件。我问是否可能有其他元素对我的指针做出反应,比如mousepointer元素对鼠标光标做出反应? function checkIntersection($el) { var pointer = getElementCoordinates($('#mypointer')[0]); var element = getElementCoordinates($el[0]); if ((pointer.left >= element.left && pointer.left = element.left && pointer.right = element.bottom && pointer.bottom = element.bottom && pointer.top

$(function () {
  $('#mypointer').live('click mouseover', function (e) {
    //here write selectors you want to check for collision
    $('h1').each(function () {
      if (checkIntersection($(this))) {
        $(this).trigger(e.type);
        return false;
      }
    });
  });
  $('h1').live('click mouseover', function (e) {
    $("#output").html(e.type + ' fired on ' + e.target.nodeName);
  });
});