将多个 javascript var 组合成一个函数
combining multiple javascript var into one function
我对 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
在这种情况下,我会采用不同的方式,而不是创建很多函数,我会向按钮添加一些数据属性,并使用委托事件。
但是如果你想在函数之间共享代码。您可以创建一个函数,即 returns 一个函数,并使用闭包来传递参数。下面是一个例子。
function makePush(url) {
return function (event) {
myNavigator.pushPage(url, { data: { cardTitle:
event.target.textContent } })
}
}
var
customPush1 = makePush('pageNav2.html'),
customPush2 = makePush('pageNav3.html');
这里是在按钮上使用委托事件的示例。它使用 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>
我对 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
在这种情况下,我会采用不同的方式,而不是创建很多函数,我会向按钮添加一些数据属性,并使用委托事件。
但是如果你想在函数之间共享代码。您可以创建一个函数,即 returns 一个函数,并使用闭包来传递参数。下面是一个例子。
function makePush(url) {
return function (event) {
myNavigator.pushPage(url, { data: { cardTitle:
event.target.textContent } })
}
}
var
customPush1 = makePush('pageNav2.html'),
customPush2 = makePush('pageNav3.html');
这里是在按钮上使用委托事件的示例。它使用 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>