相关疑难解决方法(0)

JS:元素变得可见时的事件监听器?

我正在构建一个将包含在页面中的工具栏.它将被包括在内的div将默认为display:none.有没有办法我可以在我的工具栏上放置一个事件监听器,以便在它变得可见时进行监听,以便初始化?或者我是否必须从包含页面传递变量?

谢谢

javascript

94
推荐指数
8
解决办法
11万
查看次数

找到正在改变DOM元素的javascript

有没有什么技术可以用来找到改变HTML元素的javascript?我在查找特定元素如何display:none在加载时添加内联样式时遇到一些麻烦.我知道我会找到最终完成此操作的脚本,但我希望这个过程更容易.

我的理想解决方案是在修改DOM元素后立即破解javascript执行的一些方法.我知道Chrome的开发工具能够右键单击一个元素并选择Break On> Attribute Modifications.但是,这会在页面加载期间发生,所以如果我可以在所有其他脚本声明之前插入一些脚本,这些脚本声明"监视带有类XYZ的元素"并在元素修改时中断JS执行,那将是非常好的.然后,JS执行将破坏我可以看到修改元素的JS,或者可能通过查看调用堆栈找到,但无论哪种方式,我都能看到触发中断发生的脚本.我找到了一些答案告诉我如何使用Chrome开发工具/ Firebug,但就像我说的,这个问题是关于程序化的方法.

html javascript dom dom-manipulation

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

元素变得可见时的jQuery

基本上,我想知道是否有一种方法可以在元素隐藏或可见时自动运行函数,而不是在用户单击时自动运行,而是在另一个脚本中自动运行.

我不希望这只运行一次,因为元素(如滑块)不断从可见变为隐藏.

这是jQuery可以用bind做的吗?比如将元素的可见性绑定到一个函数(我不知道如何写这个)

如果您需要我详细说明我正在尝试做什么,请告诉我.谢谢

伪代码:

$('#element').bind('display:none', function);
function(){
    //do something when element is display:none
}

$('#element').bind('display:block', function2);
function2(){
    //do opposite of function
}
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

48
推荐指数
2
解决办法
11万
查看次数

在jquery中监听类的更改

在jquery中是否有一种方法可以监听节点类的更改,然后在类更改为特定类时对其执行某些操作?具体来说,我正在使用jquery工具选项卡插件和幻灯片放映,并且正在播放幻灯片时,我需要能够检测焦点何时在特定选项卡/锚点上,以便我可以取消隐藏特定的div.

在我的具体例子中,我需要知道何时:

<li><a class="nav-video" id="nav-video-video7" href="#video7-video">Video Link 7</a></li>
Run Code Online (Sandbox Code Playgroud)

添加了"current"类更改为以下内容:

<li><a class="nav-video" id="nav-video-video7 current" href="#video7-video">Video Link 7</a></li>
Run Code Online (Sandbox Code Playgroud)

然后我想在那一刻取消隐藏div.

谢谢!

javascript jquery

26
推荐指数
3
解决办法
7万
查看次数

如何检测CSS3调整大小事件

CSS3 resize属性可以分配给任意元素.我正在寻找一种方法来检测这样的调整大小,比如divs(我不介意它目前仅在FF中工作):

div {
  resize: horizontal;
  overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,onresize事件似乎没有被解雇.当这样的用户实例化调整大小发生时,如何在JavaScript中检测到?

编辑: FWIW我在Mozilla上打开了一个错误报告.如果你想跟踪它:https://bugzilla.mozilla.org/show_bug.cgi?id = 701648

javascript resize javascript-events css3

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

DOM突变事件替换

由于w3c将DOM变异标记为已弃用(请参阅http://www.w3.org/TR/DOM-Level-3-Events/#events-mutationevents),是否有(快速)替代方法来检测属性修改在DOM?

events html5 dom dom3 mutation-events

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

JQuery Detect类更改

我使用的是添加了类插件open.slide-out-div打开时.

所以我试图改变一些css如果检测到打开.

我需要做的是

IF

$('.slide-out-div **open**') IS Detected then

$('.otherDiv').css('top','0px');
Run Code Online (Sandbox Code Playgroud)

不知道怎么把它们放在一起......

javascript jquery

17
推荐指数
3
解决办法
7万
查看次数

我可以检测是否已开始任意CSS转换

在我的close函数中,我希望在css转换完成后运行我所有的DOM清理工作.但可能没有任何转换运行/可能是多阶段转换 - (维护样式表不在我的手中).

我将如何编写类似以下的函数

function close () {
  myEl.removeClass('open');
  if (animation is running/about to be run) {
    // wait for transition to end, then recursively check to see if another 
    // one has started, wait for that ...
    // then
    cleanUpDOM(); 
  } else {
    cleanUpDOM(); 
  }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的想法是将初始检查包装在timeout/requestAnimationFrame中,以便为动画提供启动机会,然后检查它是否正在运行.不幸的是,没有transitionstart事件,我不知道如何检查转换是否已经开始.

编辑答案推荐jquery是无关紧要的,因为jquery动画是javascript动画,而不是CSS过渡

javascript css events css3 css-transitions

17
推荐指数
1
解决办法
5237
查看次数

ASP.NET MVC 3不显眼的验证和单选按钮

我正在尝试对单选按钮列表进行必要的验证,以强制用户选择继续选项.验证确实有效,但它只在第一个单选按钮上输出元数据,它只标记带有输入验证错误类的第一个单选按钮.

例:

<p>@Html.RadioButtonFor(x => x.Choices, SomeEnum.OptionOne)</p>
<p>@Html.RadioButtonFor(x => x.Choices, SomeEnum.OptionTwo)</p>
Run Code Online (Sandbox Code Playgroud)

产生的HTML:

<p><input class="input-validation-error" data-val="true" data-val-required="required text" type="radio" name="Choices" value="OptionOne" /></p>
<p><input type="radio" name="Choices" value="OptionTwo" /></p>
Run Code Online (Sandbox Code Playgroud)

我希望两个单选按钮都能获得验证错误级别,否则可能会使用户选择的选项存在偏差.

我能做什么?

unobtrusive-validation asp.net-mvc-3

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

在CSS更改时使用Jquery触发事件?

我很好奇是否有一个事件监听器或者一种方法来构造一个在CSS发生变化时会触发的方法?

我的样式表使用媒体查询,我想知道是否有一种方法可以附加一个监听器,以查看这些媒体查询何时启动和退出.例如,我有一个媒体查询,隐藏某个屏幕宽度的按钮

@media screen and (max-width: 480px) {
  #search-button {
    display: none;
  }
}
Run Code Online (Sandbox Code Playgroud)

我将使用什么事件监听器来检测该显示何时发生变化?我现在正在这样做:

$(window).resize(function() {
  if($('#search-button').css("display") == "none") {
    //do something
  } else {
    //do something else
  }
});
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但每次用户更改屏幕时都会调用监听器,而我只是在按钮的css发生变化时才激活它.我希望这是有道理的.

例如,这就是我想要的

$('#search-button').cssEventListenerOfSomeKind(function() {
  alert('the display changed');
});
Run Code Online (Sandbox Code Playgroud)

javascript css jquery

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

如何检查Select2中是否打开了下拉列表?

我在我的网站上使用select2.如果下拉列表打开或关闭,我需要知道.我研究了文档,但我不知道如何做到这一点.例如,像这样的东西会很好:

if ($('select').select2('isOpen') === true) { ... }
Run Code Online (Sandbox Code Playgroud)

有什么建议?

javascript jquery jquery-select2

9
推荐指数
4
解决办法
2万
查看次数

CSS属性更改侦听器

任何建议的CSS属性更改侦听器的实现?也许:

thread =

function getValues(){
  while(true){
    for each CSS property{
      if(properties[property] != nil && getValue(property) != properties[property]){alert('change')}
      else{properties[property] = getValue(property)}
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript css

6
推荐指数
2
解决办法
4850
查看次数

调试 HTML 时,有没有办法使用 JavaScript 或 jQuery 监听 div 宽度变化?

调试 HTML 时,有没有办法使用 JavaScript 或 jQuery 监听 div 宽度变化?我有一个 div 由于某些 CSS 而改变了大小,甚至不知道在哪里,甚至单步执行。我想知道是否有一种方法可以将事件挂接到 div 上,看看是什么导致它发生变化?即使可能,我也不知道如何传递堆栈信息来了解导致大小变化的原因,所以这甚至可能是不可能的。

html javascript jquery events dom-events

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