当我想在某个事件被触发后阻止其他事件处理程序执行时,我可以使用两种技术之一.我将在示例中使用jQuery,但这也适用于plain-JS:
event.preventDefault()$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
return false$('a').click(function () {
// custom handling here
return false;
});
Run Code Online (Sandbox Code Playgroud)
这两种停止事件传播的方法之间有什么显着差异吗?
对我来说,return false;比执行方法更简单,更短并且可能更不容易出错.使用该方法,您必须记住正确的套管,括号等.
另外,我必须在回调中定义第一个参数才能调用该方法.也许,有一些原因可以解释为什么我应该避免这样做并使用preventDefault呢?有什么更好的方法?
javascript jquery event-handling event-propagation dom-events
有没有办法使用CSS禁用链接?
我有一个被调用的类,current-page并希望禁用此类的链接,以便在单击它们时不会发生任何操作.
我有一个链接按钮<td>,我必须禁用它.这适用于IE但不适用于Firefox和Chrome.结构是 - 链接在一个<td>.我无法添加任何容器<td>(如div/span)
我尝试了以下所有但不使用Firefox(使用1.4.2 js):
$(td).children().each(function () {
$(this).attr('disabled', 'disabled');
});
$(td).children().attr('disabled', 'disabled');
$(td).children().attr('disabled', true);
$(td).children().attr('disabled', 'true');
Run Code Online (Sandbox Code Playgroud)
注 - 我无法取消注册锚标记的click函数,因为它是动态注册的.我必须在禁用模式下显示链接.
在Angular 1.x中,我可以执行以下操作来创建一个基本上什么都不做的链接:
<a href="">My Link</a>
Run Code Online (Sandbox Code Playgroud)
但是相同的标签会导航到Angular 2中的应用程序库.
与Angular 2相同的是什么?
编辑:
它看起来像Angular 2路由器中的一个错误,现在github上存在一个未解决的问题.
我正在寻找一个开箱即用的解决方案或确认没有任何问题.
我正在使用ng-disabled,我喜欢它.它对我来说对输入和按钮很有用.锚标签不起作用.我该怎么办?
HTML code
<a ng-disabled="addInviteesDisabled()">Add</a>
Run Code Online (Sandbox Code Playgroud)
JS code
$scope.addInviteesDisabled = function() {
return $scope.event.status === APP_CONSTANTS.STATUSES.PENDING_APPROVAL;
};
Run Code Online (Sandbox Code Playgroud) 我正在开发一个Angular2应用程序,我需要显示 - 但是disable一个<a> HTML元素.这样做的正确方法是什么?
更新
请注意*ngFor,这将阻止使用*ngIf和完全渲染的选项<a>.
<a *ngFor="let link of links"
href="#"
[class.disabled]="isDisabled(link)"
(click)="onClick(link)">
{{ link.name }}
</a>
Run Code Online (Sandbox Code Playgroud)
该打字稿组件具有类似如下的方法:
onClick(link: LinkObj) {
// Do something relevant with the object...
return false;
}
Run Code Online (Sandbox Code Playgroud)
我需要实际上阻止元素被点击,而不仅仅是出现在CSS中.我假设我首先需要绑定到[disabled]属性,但这是不正确的,因为锚元素没有disabled属性.
我看着并考虑使用pointer-events: none但这阻止了我的cursor: not-allowed工作风格- 这是要求的一部分.
第一个例子不起作用.我需要一个列表来禁用链接?或者我的第一个演示有什么问题?
<a class="disabled" href="#">Disabled link</a>
Run Code Online (Sandbox Code Playgroud)
<ul class="nav nav-pills">
...
<li role="presentation" class="disabled"><a href="#">Disabled link</a></li>
...
</ul>
Run Code Online (Sandbox Code Playgroud)
我正在考虑编写生成可能具有重复属性的HTML标记的代码,如下所示:
<div data-foo="bar" class="some-class" data-foo="baz">
Run Code Online (Sandbox Code Playgroud)
这是合法的HTML吗?其中一个值data-foo优先于另一个吗?我可以依靠半现代浏览器(IE> = 9)来解析它而不会窒息吗?
还是我要在这里做一些非常愚蠢的事情?
如何disabled在 HTML 中使用标签的属性
我试过这个
<a href="#" disabled>
My Link
</a>
Run Code Online (Sandbox Code Playgroud) @Html.ActionLink(" ", "Edit", new { id = item.UserId }, new { title = "User is not editable" , @class = "edit_btn", disabled = "disabled"})
Run Code Online (Sandbox Code Playgroud)
我想通过设置 html 属性 disabled="disabled" 来禁用 ActionLink,但它不起作用。我能够获得 class 和 title 属性,但 actionLink 没有被禁用。
谁能帮忙..我做错了什么。
html ×7
css ×4
javascript ×3
angular ×2
jquery ×2
angularjs ×1
asp.net-mvc ×1
dom ×1
dom-events ×1
html5 ×1
routing ×1
typescript ×1