相关疑难解决方法(0)

请参阅:Chrome开发者工具中的悬停状态

我想看看:hover我在Chrome中徘徊的主播风格.在Firebug中,有一个样式下拉列表,允许我为元素选择不同的状态.我似乎无法在Chrome中找到类似内容.我错过了什么吗?

css state google-chrome hover google-chrome-devtools

833
推荐指数
5
解决办法
24万
查看次数

如何手动触发onchange事件?

我正在通过日历小部件设置日期时间文本字段值.显然,日历小部件的功能如下:

document.getElementById('datetimetext').value = date_value;
Run Code Online (Sandbox Code Playgroud)

我想要的是:在更改日期时间文本字段中的值时,我需要重置页面中的其他一些字段.我已经在datetimetext字段中添加了一个onchange事件监听器,该字段没有被触发,因为我猜想onchange只有当元素获得焦点并且在失去焦点时其值被更改时才会触发.

因此,我正在寻找一种手动触发此onchange事件的方法(我想应该注意检查文本字段中的值差异).

有任何想法吗 ?

javascript event-handling javascript-events

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

如何触发JavaScript事件点击

我的页面中有一个超链接.我试图自动化超链接的大量点击以进行测试.有什么方法可以使用JavaScript模拟超链接的50次点击吗?

<a href="#" target="_blank" onclick="javascript:Test("Test");">MSDN</a>
Run Code Online (Sandbox Code Playgroud)

我正在寻找来自JavaScript的onClick事件触发器.

javascript javascript-events

193
推荐指数
8
解决办法
49万
查看次数

如何克隆或重新调度DOM事件?

我正在寻找一种简单而抽象的方法来克隆或重新调度DOM事件.我对克隆DOM节点不感兴趣.

我已经尝试了一下,阅读了DOM Events规范,但我没有找到明确的答案.

理想情况下,我正在寻找一些直截了当的东西:

handler = function(e){
  document.getElementById("decoy").dispatchEvent(e)
}
document.getElementById("source").addEventListener("click", handler)
Run Code Online (Sandbox Code Playgroud)

当然,这个代码示例不起作用.有一个DOM例外,说明事件当前正在调度 - 显然.

我想避免手动创建新事件document.createEvent(),初始化它们并调度它们.

这个用例有一个简单的解决方案吗?

javascript events dom webkit

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

JavaScript自定义事件侦听器

我想知道是否有人可以帮助我理解如何创建不同的自定义事件监听器.

我没有特定的事件案例,但我想一般地了解它是如何完成的,所以我可以在需要的地方应用它.

我想做什么,只是让一些人可能需要知道,是:

var position = 0;

for(var i = 0; i < 10; i++)
{
    position++;
    if((position + 1) % 4 == 0)
    {
        // do some functions
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript event-listener

42
推荐指数
4
解决办法
7万
查看次数

输入值以编程方式更改时触发更改事件?

我的表单中有一个输入法.

<input type="text" id="changeProgramatic" onchange="return ChangeValue(this);"/>
Run Code Online (Sandbox Code Playgroud)

如果我使用另一个JavaScript函数更改此textBox(changeProgramatic)中的值,它将不会触发更改事件.(注意:我将'this'传递给方法)

html javascript jquery

42
推荐指数
4
解决办法
8万
查看次数

在调用event.preventDefault()之后是否有[通用]方法来调用默认操作?

此问题是为了开发jQuery插件和其他自包含的JavaScript代码段,不需要修改其他脚本文件以实现兼容性.

我们都知道event.preventDefault()会阻止默认事件,因此我们可以运行自定义函数.但是如果我们想在调用之前简单地延迟默认事件呢?我已经看到了各种特定于案例的忍者技巧和解决方法来重新调用默认操作,但就像我说的那样,我的兴趣在于通用方式重新触发默认操作,而不是处理案例的默认触发器 - 以个案为基础.

$(submitButton).click(function (e) {

    e.preventDefault();

    // Do custom code here.

    e.invokeDefault(); // Imaginary... :(
});
Run Code Online (Sandbox Code Playgroud)

即使对于表单提交这样简单的事情,似乎也没有普遍的答案.该$(selector).closest("form").submit()解决方法假定默认的动作是一个标准的表单提交,而不是古怪像__doPostBack()在ASP.NET功能.在调用ASP.NET回调的最后,这是我最接近通用的,设置它和忘记它的解决方案:

$(submitButton).click(function (e) {

    e.preventDefault();

    // Do custom code here.

    var javascriptCommand = e.currentTarget.attributes.href.nodeValue;
    evalLinkJs(javascriptCommand);
});


function evalLinkJs(link) {
    // Eat it, Crockford. :)
    eval(link.replace(/^javascript:/g, ""));
}
Run Code Online (Sandbox Code Playgroud)

我想我可以开始编写特殊情况来处理带有window.location重定向的普通链接,但随后我们打开了一整套新的蠕虫 - 在越来越多的情况下堆积默认事件调用会产生比解决方案更多的问题.

那怎么样?谁拥有我一直在寻找的神奇子弹?

javascript jquery

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

Twitter Bootstrap.为什么模态事件在JQuery中工作但在纯JS中不起作用?

Twitter Bootstrap模式对话框有一组可用于回调的事件.

这是jQuery中的一个例子:

    $(modalID).on('hidden.bs.modal', function (e) {

        console.log("hidden.bs.modal");
    });
Run Code Online (Sandbox Code Playgroud)

但是,当我将此方法转录为JS时,事件'hidden.bs.modal'不起作用.使用'click'确实有效:

    document.querySelector(modalID).addEventListener('hidden.bs.modal', function(e) {

        console.log("hidden.bs.modal");
    }, false);
Run Code Online (Sandbox Code Playgroud)

这些Bootstrap事件只能用于jQuery吗?为什么?

谢谢,
道格

javascript jquery twitter-bootstrap-3

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

如何在JavaScript中模拟按键?

我正试图找到一种模拟按键的方法.

例如,当启动功能时,应按下"向下箭头"键,因此网页应略微滚动.

我只对Chrome感兴趣,jQuery或普通JS都适合.(普通的JS会更优选).

这是我尝试过的代码示例之一:

var e = $.Event("keydown", { keyCode: 40}); // 40 = down arrow
$("body").trigger(e);
// When I launch it the console, nothing happens. The page is not scrolled.
// May be I missed some obvious?
Run Code Online (Sandbox Code Playgroud)

我搜索并发现了以下相关问题,但解决方案对我不起作用:


换一种说法

使用AutoHotkey,您可以轻松地制作以下内容:

Down::
Send, {Up}
Run Code Online (Sandbox Code Playgroud)

然后,如果按Down箭头键,它将被触发Up.我只想用JS实现它.

javascript jquery events

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

如何在AngularJS中触发resize事件

我正在使用Angular和Bootstrap,使用nav选项卡控件来切换div的可见性.在一个div中,我有一个大的img(建筑物的CAD绘图).然后我还在图像上叠加标记.我想根据图像宽度和图像naturalWidth缩放标记的x/y位置.我正在使用resize指令来检测更改并更新我的范围.

我的问题是,如果用户使用CAD img切换标签并切换回div,则在我调整浏览器大小之前不会进行刷新(或者如果我按下Mac上的CMD键,则会令人惊讶).

是否有角度方式触发resize事件以强制重新计算我的标记.或者是否有一个我可以点击的事件在完全显示时会被触发?

或者我应该采取更精确的角度方法?

这是HTML,我写的resize指令在标签上.

<div id="imageDiv" style="position: relative;"  ng-show="selectedLocation"  >
  <img ng-src="../maps/image/{{selectedLocation}}" 
       style=" max-width: 100%; max-height: auto; border:solid 1px black" resize  imageonload />
</div>
Run Code Online (Sandbox Code Playgroud)

这是resize指令(改编自http://jsfiddle.net/jaredwilli/SfJ8c/)

directive('resize', function($window) {
  return function(scope, element) {
    var w = angular.element($window);

    scope.imgCadImage = element;

    scope.getWindowDimensions = function() {
      return {
        'h' : scope.imgCadImage[0].width,
        'w' : scope.imgCadImage[0].height
      };
    };
    scope.$watch(scope.getWindowDimensions, function(newValue, oldValue) {
      if (scope.imgCadImage[0].naturalWidth)
        scope.imgScale = newValue.w / scope.imgCadImage[0].naturalWidth;
      else
        scope.imgScale = 1;
      console.log("watched resize event - scale = "+scope.imgScale)
      scope.updateCADMarkersAfterResize(); …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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