当前位置: 首页 > 知识库问答 >
问题:

如何在同时处理两个事件的同时执行函数?

白修谨
2023-03-14

我有一些代码想要执行,而用户调整一个元素的大小,同时滚动窗口,两个事件必须同时发生,以执行函数,类似以下,但我想合并它们,像一个自定义事件?

this.on("resize", function() {
  $(window).scroll(function() {
    figure.setHeight(_this.getHeight());
  _this.setHeight(figure.getHeight());
  });
});

共有2个答案

霍伟彦
2023-03-14

根据我的理解,首先触发调整大小事件,然后如果用户也滚动,则应调用自定义函数

null

js prettyprint-override">let resizeTriggered = false

const myResizeFunc = (event) => {
resizeTriggered = true
}

const myScrollFunc = (event) => {
  if (resizeTriggered) {
    myCustomFunction()
  }
}

const myCustomFunction = () => {
    console.log('both are happening')
}

$('#textArea').mousedown(myResizeFunc)
$(window).scroll(myScrollFunc)
div.large {
  height:1000px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="textArea"></textarea>
<div class="large">

</div>
韦翰音
2023-03-14

说明:我在这里使用了一个标志,最初设置为false。由于这两个事件都将发生,我们可以在一个函数中检查另一个函数是否发生,并执行所需的函数。

首先点击按钮。将生成一个控制台,单击了。现在标志设置为true。但是myfunction()没有执行,因为它只有在keydown发生时才会激发。如果按下键,flag将不是true,因此将不会执行myfunction()。现在你知道了,按钮被点击了,所以它有了焦点。按enter键时,将同时执行clickkeydown。并执行myfunction()。当它被执行时,将flag设置为false。:)

null

var flag = false;

$(document).on("keydown", function() {
  flag = true;
  console.log("key pressed");
});

$('button').click(function() {
  console.log("clicked");
  if (flag) {
    myFunction();
  }
});

function myFunction() {
  alert("Both at same time");
  flag = false;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>Click me</button>
 类似资料:
  • 我正在尝试处理两个文件,并将它们的数据持久化到数据库中。我使用的是java dsl,而不是springs。 为了更好地解释这个场景: 我正在读取两个文件,并对它们进行处理,以便将它们的数据上载到sql数据库中。为此我执行的步骤如下 null 现在bindy正在尝试将格式映射到父类文件,但是,当它获取时,它将其映射到在同一包下定义的model1和model2。但是,它应该只将它映射到一个类。如何强制

  • 我有个关于Recrusion的问题。recrusion背后的概念对我来说是清楚的,但是如果我想同时处理两个元素呢。有没有一个简单的方法来处理。 例如: 上面的线对我来说很清楚,但是如果我想要两个过程同时处理两个元素,就像这样: 相互独立地添加每个值。

  • 问题内容: 我有4种方法(,,和一类)。方法,并有方法。另外,我有4个线程,,和分别。 如果访问方法(同步方法),线程访问方法(同步方法)是否可以同时进行?如果不是,则t2的状态如何? 问题答案: 如果t1访问m1方法(同步方法),t2线程可以同时访问m2方法(同步方法)吗? 该关键字适用于 目标水平 ,且只有一个线程可持有对象的锁。因此,只要您在谈论同一个对象,那么 否 ,它将等待释放进入时获得

  • 我配置了一个spring批处理作业,它在spring WebService中运行。这项工作有几个步骤。我已经在不同的tomcats中部署了这个webservice的两个实例(但两个实例都使用相同的mysql数据库)。 我希望用不同的参数在两个tomcats中同时运行spring批处理作业(每个tomcats中一个)。我没有使用分区,每个作业的参数是完全不同的。 我开始工作在一个汤姆猫和一切看起来很

  • 我有一个情况,我需要启动两个线程一个接一个。我尝试了以下代码片段,在这里我可以启动Thread12,但不能启动Thread2。我怎样才能开始两个......?如何启动两个线程一个接一个...? 代码片段

  • 问题内容: 是否可以同时在两个不同的元素上运行两个动画?我需要与此问题相反的Jquery排队动画。 我需要做这样的事情… 但要同时运行这两个。我唯一想到的就是为每个动画使用一次,但是我认为这不是最好的解决方案。 问题答案: 就在这里!

  • 我有一个Servlet,它接收请求,必须处理5个任务(从外部服务器获取数据),并将所有数据发送回客户机。