每当单击按钮或发生散列更改事件时,我想调用相同的操作。即使哈希更改事件意味着只是第一次加载页面并重定向到#something之类的内容。
到目前为止,基本上是重复的代码。 hashchange事件的相同代码,以及单击按钮的代码。我正在寻找一个解决方案,不要让代码重复,而是从点击按钮的事件中调用 hashchange事件。到目前为止,这是我的代码。
main.js
$(window).bind('hashchange', function() {
// get User from the URL
var user = window.location.hash.substr(1);
// update the value in a text input with new ASIN
document.getElementById('asin_input').value = asin;
$.getJSON("/api/user/"+user, function (data) {
// ...
});
}).trigger('hashchange');
/*
* Whenever a button "Search!" is clicked, this function gets called.
*/
element.addEventListener('click', function () {
var user = $('#user_input').val();
$.getJSON("/api/user/"+user, function (data) {
// ...
});
});
现在getJSON中的整个内容,包括getJSON都是重复的,所以我只想要onClick调用/触发hashchange,这会触发getJSON。怎么做?