js事件之event.preventDefault()與event.stopPropagation()用法區別
阿新 • • 發佈:2019-02-01
很多朋友都以為event.preventDefault()與event.stopPropagation()是jquery的方法,其實不是的它們是js本身自帶的方法了,下面我來給各位同學簡單介紹它們兩的用法與區別了。
其他事件控制代碼被呼叫,但是它可以阻止把事件分派到其他節點。
event.preventDefault()用法介紹
該方法將通知 Web 瀏覽器不要執行與事件關聯的預設動作(如果存在這樣的動作)。例如,<input type='' /> 如果 type 屬性是 "submit",在事件傳播的任意階段可以呼叫任意的事件控制代碼,通過呼叫該方法,可以阻止提交表單。注意,如果 Event 物件的 cancelable 屬性是 fasle,那麼就沒有預設動作,或者不能阻止預設動作。無論哪種情況,呼叫該方法都沒有作用。
該方法將通知 Web 瀏覽器不要執行與事件關聯的預設動作(如果存在這樣的動作)。
例如,如果 type 屬性是 "submit",在事件傳播的任意階段可以呼叫任意的事件控制代碼,通過呼叫該方法,可以阻止提交表單。
注意,如果 Event 物件的 cancelable 屬性是 fasle,那麼就沒有預設動作,或者不能阻止預設動作。無論哪種情況,呼叫該方法都沒有作用。
event.stopPropagation()用法介紹
該方法將停止事件的傳播,阻止它被分派到其他 Document 節點。在事件傳播的任何階段都可以呼叫它。注意,雖然該方法不能阻止同一個 Document 節點上的其他事件控制代碼被呼叫,但是它可以阻止把事件分派到其他節點
該方法將停止事件的傳播,阻止它被分派到其他 Document 節點。在事件傳播的任何階段都可以呼叫它。
注意:雖然該方法不能阻止同一個 Document 節點上的
event是DOM的事件方法,所以不是單獨使用,比如指定DOM
/*導航*/ body.nav-tran .warp,body.nav-tran .bottom_btn{ -webkit-transform: translate(-8rem, 0); -moz-transform: translate(-8rem, 0); -ms-transform: translate(-8rem, 0); -o-transform: translate(-8rem, 0); transform: translate(-8rem, 0); } body.nav-tran .nav{ -webkit-transform: translate(0, 0); -moz-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .warp,.nav,.bottom_btn{ -webkit-transition: all .3s; -moz-transition: all .3s; -ms-transition: all .3s; -o-transition: all .3s; transition: all .3s; }
function nav(){
var btn=$(".nav-btn");
var warp=$(".warp");
btn.on("touchstart",function(event){
$("body").addClass("nav-tran");
event.stopPropagation();
//return false;
});
warp.on("touchstart",function(){
$("body").removeClass("nav-tran");
});
}