javascript - 将多个 javascript var 合并到一个函数中

标签 javascript onsen-ui

我对 js 一无所知,但我偶然发现了这一点,想知道是否有人可以帮助我将这两者合而为一。我最终可能会拥有大约 30 个。是否可以将所有 30 个变量组合在一起?每个customPush都会推送一个新的html。

谢谢。

var customPush1 = function (event) {
myNavigator.pushPage('pageNav2.html', { data: { cardTitle: 
event.target.textContent } })
};
var customPush2 = function (event) {
myNavigator.pushPage('pageNav3.html', { data: { cardTitle: event.target.textContent } })
};

最佳答案

yes. the plan is to have 30 buttons loading a separate html each

在这种情况下,我会采用不同的方式,而不是创建大量函数,而是向按钮添加一些数据属性,并使用委托(delegate)事件。

但是如果你想让它可以在函数之间共享代码。您可以创建一个返回函数的函数,并使用闭包来传递参数。下面是一个例子。

function makePush(url) {
  return function (event) {
    myNavigator.pushPage(url, { data: { cardTitle: 
      event.target.textContent } })
  }
}

var 
  customPush1 = makePush('pageNav2.html'),
  customPush2 = makePush('pageNav3.html');

这是在按钮上使用委托(delegate)事件的示例。它使用 jQuery,因为我发现它快速且简单,但无需 jQuery 也可以完成相同的操作。

$('body').on('click', '[data-custom-push]', function () {
  var page = $(this).attr('data-custom-push');
  alert('Page = ' + page);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button data-custom-push="pageNav1.html">Button 1</button> <br>
<button data-custom-push="pageNav2.html">Button 2</button> <br>
<button data-custom-push="pageNav3.html">Button 3</button> <br>
<button data-custom-push="pageNav4.html">Button 4</button> <br>
<button data-custom-push="pageNav5.html">Button 5</button> <br>
<button data-custom-push="xyz.html">Button 6</button> <br>
<button data-custom-push="abc.html">Button 7</button> <br>

关于javascript - 将多个 javascript var 合并到一个函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45970745/

相关文章:

javascript - 单击它时不显示选项

Onsen-UI 使用带有导航器后退按钮的滑动菜单

javascript - 如何使用 VueJs 阻止文本区域中的某些字符?

javascript - 执行 npm 发布时 github 托管包失败

javascript - 如何在onsen ui的pushpage方法中传递多个值

javascript - 调用 ResetToPage 后显示 Onsen UI 后退按钮

javascript - 在 angularjs 中获取数据时在 onsen ui 中显示 MODAL

javascript - ons-popover 2.0 - 通过纯 JavaScript 而不是 Angular 调用

javascript - 使用 JavaScript 或 jQuery 将焦点设置为动态创建的 DIV

javascript - 通过与 Mongoose 中的不同数组匹配来从嵌入数组中删除元素