#320 fix routing bug in IE9
This commit is contained in:
parent
e9eb03285a
commit
105a936a06
1 changed files with 15 additions and 5 deletions
20
mithril.js
20
mithril.js
|
|
@ -605,13 +605,19 @@ var m = (function app(window, undefined) {
|
|||
window[listener]()
|
||||
}
|
||||
//config: m.route
|
||||
else if (arguments[0].addEventListener) {
|
||||
else if (arguments[0].addEventListener || arguments[0].attachEvent) {
|
||||
var element = arguments[0];
|
||||
var isInitialized = arguments[1];
|
||||
var context = arguments[2];
|
||||
element.href = (m.route.mode !== 'pathname' ? $location.pathname : '') + modes[m.route.mode] + this.attrs.href;
|
||||
element.removeEventListener("click", routeUnobtrusive);
|
||||
element.addEventListener("click", routeUnobtrusive)
|
||||
if (element.addEventListener) {
|
||||
element.removeEventListener("click", routeUnobtrusive);
|
||||
element.addEventListener("click", routeUnobtrusive)
|
||||
}
|
||||
else {
|
||||
element.detachEvent("onclick", routeUnobtrusive);
|
||||
element.attachEvent("onclick", routeUnobtrusive)
|
||||
}
|
||||
}
|
||||
//m.route(route, params)
|
||||
else if (type.call(arguments[0]) === STRING) {
|
||||
|
|
@ -634,7 +640,10 @@ var m = (function app(window, undefined) {
|
|||
};
|
||||
redirect(modes[m.route.mode] + currentRoute)
|
||||
}
|
||||
else $location[m.route.mode] = currentRoute
|
||||
else {
|
||||
$location[m.route.mode] = currentRoute
|
||||
redirect(modes[m.route.mode] + currentRoute)
|
||||
}
|
||||
}
|
||||
};
|
||||
m.route.param = function(key) {
|
||||
|
|
@ -687,8 +696,9 @@ var m = (function app(window, undefined) {
|
|||
if (e.ctrlKey || e.metaKey || e.which === 2) return;
|
||||
if (e.preventDefault) e.preventDefault();
|
||||
else e.returnValue = false;
|
||||
var currentTarget = e.currentTarget || this;
|
||||
var currentTarget = e.currentTarget || e.srcElement;
|
||||
var args = m.route.mode === "pathname" && currentTarget.search ? parseQueryString(currentTarget.search.slice(1)) : {};
|
||||
while (currentTarget && currentTarget.nodeName.toUpperCase() != "A") currentTarget = currentTarget.parentNode
|
||||
m.route(currentTarget[m.route.mode].slice(modes[m.route.mode].length), args)
|
||||
}
|
||||
function setScroll() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue