在这种情况下使用的正确方法是什么?

时间:2017-09-29 17:12:37

标签: javascript jquery if-statement

我没有找到满足我这个新手javascript(使用jQuery)问题的答案......

我准备好了这两个代码......

代码1

img{
animation-delay: 3s;
}

代码2

$('myElement').click(function(){
     if(isMobile()){
         //do something...
     }
});

正确的方法是什么?为什么?

谢谢你们

2 个答案:

答案 0 :(得分:0)

第一个在任何情况下创建click事件,并且在其中根据条件执行不同的操作。

如果条件为真,则第二个选项仅生成click事件。

因此,它取决于您的应用程序的逻辑。如果仅在isMobile()为真时才需要点击事件,我将使用第二个选项,因此您不会生成您不需要的事件。

如果你总是需要点击事件,但它必须根据isMobile()条件做不同的事情,那么第一个就是要走的路。

我希望它有所帮助

答案 1 :(得分:0)

代码1

$('myElement').click(function() {
  if(isMobile()) {
    // do something...
  }
});

操作始终附加到您的元素。 对于元素的每次点击,它将测试您是否在移动设备上。

代码2

if(isMobile()) {
  $('myElement').click(function() {
    // do something...
  });
}

它将测试您是否首先使用移动设备。如果是这样,它会将您的操作附加到您的元素。如果没有,当你点击元素时,你永远不会得到动作。

这是一个例子:

const isMobile = false

if (isMobile) {
  console.log("code 1 - isMobile")
  $("#code1").click(function() {
    console.log("code 1 - click")
  })
}


  
$("#code1").click(function() {
  console.log("code 2 - click")
  if (isMobile) {
    console.log("code 2 - isMobile")
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2>Code 1</h2>

<button id="code1">Click me !</button>

<h2>Code 2</h2>

<button id="code2">Click me !</button>