小编Alo*_*lon的帖子

如何使ng-click事件有条件?

我在ng-repeat中有这个代码:

<a href="#" class="disabled" ng-click="doSomething(object)">Do something</a>
Run Code Online (Sandbox Code Playgroud)

如何设置按钮被禁用的条件class="disabled"

或者有没有办法在Javascript中这样做,所以看起来像:

$('.do-something-button').click(function(){
  if (!$(this).hasClass('disabled')) {
    do something
  }
});
Run Code Online (Sandbox Code Playgroud)

html javascript angularjs

113
推荐指数
4
解决办法
17万
查看次数

我可以仅将不透明度设置为div的背景图像吗?

让我说我有

<div class="myDiv">Hi there</div>
Run Code Online (Sandbox Code Playgroud)

我想提出一个background-image并给它一个opacity0.5-但我想,我写的文字将有充分的不透明度(1).

如果我像这样写CSS

.myDiv { opacity:0.5 }
Run Code Online (Sandbox Code Playgroud)

一切都将是低透明度 - 我不希望这样.

所以我的问题是 - 如何获得具有完全不透明度文本的低不透明度背景图像?

html css background background-image css3

75
推荐指数
3
解决办法
14万
查看次数

如何在jQuery中使用:not和hasClass()来获取没有类的特定元素

我有这行代码:

$('#sitesAccordion .groupOfSites').click(function() {
    var lastOpenSite = $(this).siblings().hasClass(':not(.closedTab)');
    console.log(lastOpenSite);
});
Run Code Online (Sandbox Code Playgroud)

我得到"假"而不是获得其他元素之一(假设有一个 - 并且必须有).我猜问题是:

.hasClass(':not(.closedTab)');
Run Code Online (Sandbox Code Playgroud)

问题是什么?

我的目的是创建自己的手风琴(不使用jQuery UI)

而我正试图这样写:

$('#sitesAccordion .groupOfSites').click(function() {

    //Get the last opened tab
    var lastOpenSite = $(this).siblings().hasClass(':not(.closedTab)');

    //Close last opened tab and add class
    lastOpenSite.hide().toggleClass('closedTab');

    //Open the current Tab
    $(this).children('.accordionContent').toggle('fast');

    // remove class from open tab
    $(this).toggleClass('closedTab');


});
Run Code Online (Sandbox Code Playgroud)

这是最好的方法吗?谢谢,Alon

html javascript jquery accordion

67
推荐指数
3
解决办法
18万
查看次数

使用AngularJS创建渲染条件

我知道如何在AngularJS中创建一个视图条件,它将显示或隐藏依赖于条件的dom元素:

<div ng-show="{{isTrue}}">Some content</div>
Run Code Online (Sandbox Code Playgroud)

但是如何创建一个渲染条件来确定是否渲染div?

javascript angularjs

46
推荐指数
1
解决办法
7万
查看次数

overflow:隐藏在Firefox中,但在Chrome中不起作用.为什么?

我一直在尝试使用CSS3,并完全用CSS3构建一个Netscape徽标进行培训.

链接在这里:

http://alonbt.com/css3/netscape/

问题是:在Firefox中看起来都很好,但在Chrome中出了问题.我认为这是overflow:hidden我的 - 在Firefox中它可以工作,但Chrome似乎没有很好地渲染它.

有什么建议可能是什么问题?

css firefox google-chrome css3

22
推荐指数
1
解决办法
4880
查看次数

如何使用多个链接过滤AngularJS中的列表

我已经阅读了很多关于如何过滤列表的教程,但是找不到我的简单用例的例子.

我有几个按钮,如

<a href="#" id="filter-by-name">Name</a>
<a href="#" id="filter-by-age">Age</a>
<a href="#" id="filter-by-height">Height</a>
Run Code Online (Sandbox Code Playgroud)

我有var persons = {...}对象,我显示它

<div ng-repeat="person in persons">
  {{person.name...}}
</div>
Run Code Online (Sandbox Code Playgroud)

如何创建过滤器,以便每次单击其中一个按钮时,列表将被过滤?

我已经尝试添加ng-repeat="person in persons | filter:filterPersons" 并在脚本端写入:

$scope.filterPersons(person){
  if (person.name == "John")
    return person;
}
Run Code Online (Sandbox Code Playgroud)

但这只是一个用例(如何用其他名称过滤?) - 换句话说 - 如何将链接连接到过滤器?

html javascript filter angularjs

21
推荐指数
1
解决办法
2万
查看次数

在AngularJS中轻松控制dom - 单击按钮,然后将焦点设置为输入元素

我有这个角度代码:

<div class="element-wrapper" ng-repeat="element in elements">
  <div class="first-wrapper">
     <div class="button" ng-click="doSomething(element,$event)">{{element.name}}</div>   
  </div>
  <div class="second-wrapper">
    <input type="text" value="{{element.value}}">    
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要发生的事情:当用户点击按钮时 - 输入元素将被聚焦.

单击按钮元素并将其聚焦后,如何找到输入元素?

我可以做一个看起来像这样的函数:

function doSomething(element,$event) {
  //option A - start manipulating in the dark:
  $event.srcElement.parentNode.childNodes[1]

  //option B - wrapping it with jQuery:
   $($event.srcElement).closest('.element-wrapper').find('input').focus();
}
Run Code Online (Sandbox Code Playgroud)

它们都不起作用 - 是否有更好的角度方法可以做到这一点?使用功能,如.closest().find()在jQuery的?

更新:

我发现这个黑客工作(但它似乎仍然不是正确的解决方案):

function doSomething(element,$event) {
   setTimeout(function(){
     $($event.srcElement).closest('.element-wrapper').find('input').focus();
   },0)
}
Run Code Online (Sandbox Code Playgroud)

我用setTimeout包装它,所以在Angular完成它的所有操作后,它会聚焦在input元素上.

javascript jquery angularjs

19
推荐指数
3
解决办法
6万
查看次数

event.currentTarget在jQuery中总是等于$(this)吗?

这句话总是如此吗?

$("p").click(function(event) {
  alert( event.currentTarget === this ); 
});  
Run Code Online (Sandbox Code Playgroud)

一种方法比另一种方法更受欢迎吗?我喜欢用$(this)而不是 event.currentTarget但在某些情况下可以做得更好吗?哪个更好?绝对一样吗?

另一个细微差别 - 当检查萤火虫console.log(this)console.log($(this))给我完全相同的元素.如果它们是相同的 - 有什么不同?(因为我知道我可以写这个$(this).css('color','white')但不能写this.css('color','white')

javascript jquery

12
推荐指数
1
解决办法
4669
查看次数

如何将子窗口中的事件发送到其父窗口

我的主要目标是:

转到我的应用程序,在新选项卡中打开一个链接,在新选项卡中创建一些内容并将事件发送到父主选项卡进行刷新.

我学到了两种技术并没有完全符合我的需要:

  1. postMessage - 据我所知,只在iframe上而不是在标签上
  2. window.opener - 仅适用于只打开新窗口而不是新选项卡的window.open(url).

如何使用制表符将事件从子节点传递给父节点?我很高兴在父母和孩子的javascript代码的具体示例.它应该适用于跨域(例如:www.mydomain.com和bills.mydomain.com).

有没有我错过的jQuery解决方案?

javascript tabs postmessage window.opener

12
推荐指数
1
解决办法
7117
查看次数

11
推荐指数
3
解决办法
2822
查看次数