JS how to continue event prevent default
up vote
1
down vote
favorite
I am trying to pop modal asking the user if he is sure about to leave the page,
while there changes that have not been commited yet.
Those changes are NOT done using a <form>
element, but just some changes
that were made on a specific object.
I have tried to detect when he tries to leave the page with either the $routeChangeStart
and the $routeChangeSuccess
like this:
$scope.$on('$routeChangeStart', function(event, current) {
event.preventDefault();
ConfirmationModal.fire("Do you sure?", response => {
if (response) {
// how to CONTINUE the prevent default??
}
});
}
The code above actually stop the propgregation and not let the user to leave
the page.
However - after confirmed the modal, I cannot find any way to continue the page moving.
I mean, I can prevent default but not continue default.
I have tried also to:
$location.path(PATH)
but this just did not work.
Also - even when user re-click about leaving the page again - the event preventdefault is still
prevented.
javascript angularjs angular-ui-router preventdefault
add a comment |
up vote
1
down vote
favorite
I am trying to pop modal asking the user if he is sure about to leave the page,
while there changes that have not been commited yet.
Those changes are NOT done using a <form>
element, but just some changes
that were made on a specific object.
I have tried to detect when he tries to leave the page with either the $routeChangeStart
and the $routeChangeSuccess
like this:
$scope.$on('$routeChangeStart', function(event, current) {
event.preventDefault();
ConfirmationModal.fire("Do you sure?", response => {
if (response) {
// how to CONTINUE the prevent default??
}
});
}
The code above actually stop the propgregation and not let the user to leave
the page.
However - after confirmed the modal, I cannot find any way to continue the page moving.
I mean, I can prevent default but not continue default.
I have tried also to:
$location.path(PATH)
but this just did not work.
Also - even when user re-click about leaving the page again - the event preventdefault is still
prevented.
javascript angularjs angular-ui-router preventdefault
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I am trying to pop modal asking the user if he is sure about to leave the page,
while there changes that have not been commited yet.
Those changes are NOT done using a <form>
element, but just some changes
that were made on a specific object.
I have tried to detect when he tries to leave the page with either the $routeChangeStart
and the $routeChangeSuccess
like this:
$scope.$on('$routeChangeStart', function(event, current) {
event.preventDefault();
ConfirmationModal.fire("Do you sure?", response => {
if (response) {
// how to CONTINUE the prevent default??
}
});
}
The code above actually stop the propgregation and not let the user to leave
the page.
However - after confirmed the modal, I cannot find any way to continue the page moving.
I mean, I can prevent default but not continue default.
I have tried also to:
$location.path(PATH)
but this just did not work.
Also - even when user re-click about leaving the page again - the event preventdefault is still
prevented.
javascript angularjs angular-ui-router preventdefault
I am trying to pop modal asking the user if he is sure about to leave the page,
while there changes that have not been commited yet.
Those changes are NOT done using a <form>
element, but just some changes
that were made on a specific object.
I have tried to detect when he tries to leave the page with either the $routeChangeStart
and the $routeChangeSuccess
like this:
$scope.$on('$routeChangeStart', function(event, current) {
event.preventDefault();
ConfirmationModal.fire("Do you sure?", response => {
if (response) {
// how to CONTINUE the prevent default??
}
});
}
The code above actually stop the propgregation and not let the user to leave
the page.
However - after confirmed the modal, I cannot find any way to continue the page moving.
I mean, I can prevent default but not continue default.
I have tried also to:
$location.path(PATH)
but this just did not work.
Also - even when user re-click about leaving the page again - the event preventdefault is still
prevented.
javascript angularjs angular-ui-router preventdefault
javascript angularjs angular-ui-router preventdefault
edited Nov 11 at 13:56
georgeawg
32.3k104966
32.3k104966
asked Nov 11 at 13:31
Raz
20410
20410
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
accepted
You could add a flag and a conditional:
Something like
$scope.allowChange = false;
$scope.$on('$routeChangeStart', function(event, current) {
// don't do anything when allowChange === true
if (!$scope.allowChange) {
event.preventDefault();
ConfirmationModal.fire("Do you sure?", response => {
if (response) {
$scope.allowChange = true
$location.path(...) // I forget prop to get new path from
}
});
}
})
Great that works - so the event prevent default will always remain active, until the closureIF
of it is gettingfalse
? BTW, innext
I have this:http://localhost:8080/#!/root/settings/permissions
How to load the next view with this? should I parse only the path and extract it, or that is there anything else?
– Raz
Nov 11 at 15:14
As I commented I forget which object has the next path in it. If I remember correctly without going to the docs there is also anext
argument that has the new path in it. Is outlined in routing docs
– charlietfl
Nov 11 at 15:19
Yes, next provides with the full url
– Raz
Nov 11 at 15:20
Doesn't it also have the internal path as well as the full url? If not would be simple parse to get it from the full one or try$location.url(fullUrl)
– charlietfl
Nov 11 at 15:22
Nope. I am using ngRoute if it helps.
– Raz
Nov 11 at 15:23
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
You could add a flag and a conditional:
Something like
$scope.allowChange = false;
$scope.$on('$routeChangeStart', function(event, current) {
// don't do anything when allowChange === true
if (!$scope.allowChange) {
event.preventDefault();
ConfirmationModal.fire("Do you sure?", response => {
if (response) {
$scope.allowChange = true
$location.path(...) // I forget prop to get new path from
}
});
}
})
Great that works - so the event prevent default will always remain active, until the closureIF
of it is gettingfalse
? BTW, innext
I have this:http://localhost:8080/#!/root/settings/permissions
How to load the next view with this? should I parse only the path and extract it, or that is there anything else?
– Raz
Nov 11 at 15:14
As I commented I forget which object has the next path in it. If I remember correctly without going to the docs there is also anext
argument that has the new path in it. Is outlined in routing docs
– charlietfl
Nov 11 at 15:19
Yes, next provides with the full url
– Raz
Nov 11 at 15:20
Doesn't it also have the internal path as well as the full url? If not would be simple parse to get it from the full one or try$location.url(fullUrl)
– charlietfl
Nov 11 at 15:22
Nope. I am using ngRoute if it helps.
– Raz
Nov 11 at 15:23
add a comment |
up vote
2
down vote
accepted
You could add a flag and a conditional:
Something like
$scope.allowChange = false;
$scope.$on('$routeChangeStart', function(event, current) {
// don't do anything when allowChange === true
if (!$scope.allowChange) {
event.preventDefault();
ConfirmationModal.fire("Do you sure?", response => {
if (response) {
$scope.allowChange = true
$location.path(...) // I forget prop to get new path from
}
});
}
})
Great that works - so the event prevent default will always remain active, until the closureIF
of it is gettingfalse
? BTW, innext
I have this:http://localhost:8080/#!/root/settings/permissions
How to load the next view with this? should I parse only the path and extract it, or that is there anything else?
– Raz
Nov 11 at 15:14
As I commented I forget which object has the next path in it. If I remember correctly without going to the docs there is also anext
argument that has the new path in it. Is outlined in routing docs
– charlietfl
Nov 11 at 15:19
Yes, next provides with the full url
– Raz
Nov 11 at 15:20
Doesn't it also have the internal path as well as the full url? If not would be simple parse to get it from the full one or try$location.url(fullUrl)
– charlietfl
Nov 11 at 15:22
Nope. I am using ngRoute if it helps.
– Raz
Nov 11 at 15:23
add a comment |
up vote
2
down vote
accepted
up vote
2
down vote
accepted
You could add a flag and a conditional:
Something like
$scope.allowChange = false;
$scope.$on('$routeChangeStart', function(event, current) {
// don't do anything when allowChange === true
if (!$scope.allowChange) {
event.preventDefault();
ConfirmationModal.fire("Do you sure?", response => {
if (response) {
$scope.allowChange = true
$location.path(...) // I forget prop to get new path from
}
});
}
})
You could add a flag and a conditional:
Something like
$scope.allowChange = false;
$scope.$on('$routeChangeStart', function(event, current) {
// don't do anything when allowChange === true
if (!$scope.allowChange) {
event.preventDefault();
ConfirmationModal.fire("Do you sure?", response => {
if (response) {
$scope.allowChange = true
$location.path(...) // I forget prop to get new path from
}
});
}
})
answered Nov 11 at 13:43
charlietfl
138k1286118
138k1286118
Great that works - so the event prevent default will always remain active, until the closureIF
of it is gettingfalse
? BTW, innext
I have this:http://localhost:8080/#!/root/settings/permissions
How to load the next view with this? should I parse only the path and extract it, or that is there anything else?
– Raz
Nov 11 at 15:14
As I commented I forget which object has the next path in it. If I remember correctly without going to the docs there is also anext
argument that has the new path in it. Is outlined in routing docs
– charlietfl
Nov 11 at 15:19
Yes, next provides with the full url
– Raz
Nov 11 at 15:20
Doesn't it also have the internal path as well as the full url? If not would be simple parse to get it from the full one or try$location.url(fullUrl)
– charlietfl
Nov 11 at 15:22
Nope. I am using ngRoute if it helps.
– Raz
Nov 11 at 15:23
add a comment |
Great that works - so the event prevent default will always remain active, until the closureIF
of it is gettingfalse
? BTW, innext
I have this:http://localhost:8080/#!/root/settings/permissions
How to load the next view with this? should I parse only the path and extract it, or that is there anything else?
– Raz
Nov 11 at 15:14
As I commented I forget which object has the next path in it. If I remember correctly without going to the docs there is also anext
argument that has the new path in it. Is outlined in routing docs
– charlietfl
Nov 11 at 15:19
Yes, next provides with the full url
– Raz
Nov 11 at 15:20
Doesn't it also have the internal path as well as the full url? If not would be simple parse to get it from the full one or try$location.url(fullUrl)
– charlietfl
Nov 11 at 15:22
Nope. I am using ngRoute if it helps.
– Raz
Nov 11 at 15:23
Great that works - so the event prevent default will always remain active, until the closure
IF
of it is getting false
? BTW, in next
I have this: http://localhost:8080/#!/root/settings/permissions
How to load the next view with this? should I parse only the path and extract it, or that is there anything else?– Raz
Nov 11 at 15:14
Great that works - so the event prevent default will always remain active, until the closure
IF
of it is getting false
? BTW, in next
I have this: http://localhost:8080/#!/root/settings/permissions
How to load the next view with this? should I parse only the path and extract it, or that is there anything else?– Raz
Nov 11 at 15:14
As I commented I forget which object has the next path in it. If I remember correctly without going to the docs there is also a
next
argument that has the new path in it. Is outlined in routing docs– charlietfl
Nov 11 at 15:19
As I commented I forget which object has the next path in it. If I remember correctly without going to the docs there is also a
next
argument that has the new path in it. Is outlined in routing docs– charlietfl
Nov 11 at 15:19
Yes, next provides with the full url
– Raz
Nov 11 at 15:20
Yes, next provides with the full url
– Raz
Nov 11 at 15:20
Doesn't it also have the internal path as well as the full url? If not would be simple parse to get it from the full one or try
$location.url(fullUrl)
– charlietfl
Nov 11 at 15:22
Doesn't it also have the internal path as well as the full url? If not would be simple parse to get it from the full one or try
$location.url(fullUrl)
– charlietfl
Nov 11 at 15:22
Nope. I am using ngRoute if it helps.
– Raz
Nov 11 at 15:23
Nope. I am using ngRoute if it helps.
– Raz
Nov 11 at 15:23
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53249233%2fjs-how-to-continue-event-prevent-default%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown