第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何防止錨標簽上的默認值?

如何防止錨標簽上的默認值?

qq_花開花謝_0 2019-10-23 14:37:48
假設我有一個錨標記,例如<a href="#" ng-click="do()">Click</a>如何防止瀏覽器導航到AngularJS中的#?
查看完整描述

3 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

此后,我改變了主意。經過更多的開發(fā)和花時間在此上,我相信針對此問題的更好解決方案是執(zhí)行以下操作:


<a ng-click="myFunction()">Click Here</a>

然后更新您css的規(guī)則,以執(zhí)行以下操作:


a[ng-click]{

    cursor: pointer;

}

它更加簡單,并提供完全相同的功能,并且效率更高。希望對將來尋找該解決方案的其他人有所幫助。


以下是我以前的解決方案,僅出于遺留目的而留在這里:


如果您經常遇到此問題,則可以通過以下簡單指令來解決此問題:


app.directive('a', function() {

    return {

        restrict: 'E',

        link: function(scope, elem, attrs) {

            if(attrs.ngClick || attrs.href === '' || attrs.href === '#'){

                elem.on('click', function(e){

                    e.preventDefault();

                });

            }

        }

   };

});

它檢查所有錨標記(<a></a>),以查看其錨href屬性是否為空字符串("")或哈希('#')或是否有ng-click分配。如果發(fā)現這些條件中的任何一個,它將捕獲事件并阻止默認行為。


唯一的缺點是它為所有錨標記運行此指令。因此,如果頁面上有很多錨標記,而您只想防止其中的少量錨標記的默認行為,那么此指令的效率就不是很高。但是,我?guī)缀蹩偸窍胍猵reventDefault,因此我在AngularJS應用程序中全部使用了此指令。


查看完整回答
反對 回復 2019-10-23
?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

根據ngHref的文檔,您應該可以省略 href或執(zhí)行href =“”。


<input ng-model="value" /><br />

<a id="link-1" href ng-click="value = 1">link 1</a> (link, don't reload)<br />

<a id="link-2" href="" ng-click="value = 2">link 2</a> (link, don't reload)<br />

<a id="link-4" href="" name="xx" ng-click="value = 4">anchor</a> (link, don't reload)<br />

<a id="link-5" name="xxx" ng-click="value = 5">anchor</a> (no link)<br />


查看完整回答
反對 回復 2019-10-23
?
DIEA

TA貢獻1820條經驗 獲得超2個贊

我更喜歡對此類事情使用指令。這是一個例子


<a href="#" ng-click="do()" eat-click>Click Me</a>

和指令代碼為eat-click:


module.directive('eatClick', function() {

    return function(scope, element, attrs) {

        $(element).click(function(event) {

            event.preventDefault();

        });

    }

})

現在,您可以將eat-click屬性添加到任何元素,它將preventDefault()自動進行編輯。


好處:


您不必將丑陋的$event對象傳遞給do()函數。

您的控制器更易于單元測試,因為它不需要存根$event對象


查看完整回答
反對 回復 2019-10-23
  • 3 回答
  • 0 關注
  • 626 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號