小编Gor*_*vic的帖子

使用val()函数设置<select>的值时触发change()事件

设置select元素的值时触发更改事件的最简单,最好的方法是什么.

我期望执行以下代码

$('select#some').val(10);
Run Code Online (Sandbox Code Playgroud)

要么

$('select#some').attr('value',  10);
Run Code Online (Sandbox Code Playgroud)

会导致触发更改事件,我认为这是非常合乎逻辑的事情.对?

嗯,事实并非如此.您需要通过执行此操作来触发change()事件

$('select#some').val(10).change();
Run Code Online (Sandbox Code Playgroud)

要么

$('select#some').val(10).trigger('change');
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一些解决方案,一旦某些javascript代码更改了select的值,就会触发更改事件.

jquery events triggers onchange

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

覆盖元素级别的核心jQuery函数

是否有可能在元素级别覆盖核心jQuery函数,因此举个例子,我想仅在一个<select>元素上覆盖val()函数.

如果我做这样的事情

var element = $('select');
var old_val = element.val;
element.val = function () {
  console.log('The new val');
  return old_val.apply(this, arguments);
}
element.val(19);
Run Code Online (Sandbox Code Playgroud)

它按预期工作,但只要我用新的jQuery实例处理相同的字段

var element = $('select');
element.val(19);
Run Code Online (Sandbox Code Playgroud)

它停止工作,因为我们有jQuery对象的新实例.如果我使用$ .fn.val函数,我会改变所有支持val函数的对象的行为,这对我来说有点太多了.

任何帮助将不胜感激.谢谢.

jquery overriding element function core

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

使用html5 draggable属性时,保留拖动A元素的外观

使用'draggable'html5属性时,如何保留拖动的A元素的外观.在某些浏览器(Safari和Chrome)上拖动锚点时,拖动的帮助器将被替换为拖动元素的浏览器本机实现,如屏幕截图所示:

拖动DIV时

拖动DIV时

拖动A时

拖动A时

HTML

<div class="draggable">Draggable DIV</div>
<a href="" class="draggable">Draggable A</a>
Run Code Online (Sandbox Code Playgroud)

CSS

$('.draggable').attr('draggable', true);
Run Code Online (Sandbox Code Playgroud)

这是我组装的快速JSBin来演示这个问题http://jsbin.com/pihayeceza/1/edit

谢谢

html javascript anchor html5 draggable

7
推荐指数
2
解决办法
2288
查看次数

jQuery 中的绑定事件始终在最后执行

有没有一种方法可以将事件绑定到某个对象,并确保其中一个事件始终最后执行?

  $('#something').bind('click', function () {
    // do something first
  });
  $('#something').bind('click', function () {
    // do this always last
  });  
  $('#something').bind('click', function () {
    // do this after first one
  });
Run Code Online (Sandbox Code Playgroud)

谢谢你!

jquery bind

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

从电子应用程序的 webview 中选择应允许哪些弹出窗口

我没有使用allowpopups属性来允许从电子应用程序中的 webview 打开弹出窗口,而是根据案例处理“新窗口”。

这是我的事件处理程序

content.addEventListener('new-window', function (e) {
  var url = e.url;
  var hostname = (new URL(url)).hostname.toLowerCase();

  if (hostname.indexOf('dropbox.com') !== -1 && url.indexOf('chooser') !== -1) {
    // this should open window but it doesnt
    return true;

  } else {
    content.loadURL(url);
    e.preventDefault();
  }  
});
Run Code Online (Sandbox Code Playgroud)

如您所见,触发此处理程序的事件是否具有 dropbox 的 url(例如),我希望电子允许按预期打开该窗口。

如果不是这种情况,我应该在电子应用程序中打开该网址。

...但这不起作用,当使用 dropbox url 时,我什么也没得到。关于我做错了什么的任何建议?

谢谢

electron

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