小编noi*_*euq的帖子

jQuery $ el.trigger('change')不会触发本机侦听器

请考虑以下HTML:

<select value="val2">
  <option value="val1">o1</option>
  <option value="val2">o2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

和JavaScript(在文档准备就绪):

var $select = $('select');
var select = $select.get(0);

function logger(msg) {
    return function () { console.log(msg); };
}

$select.on('change', logger('jquery on select'));
$(document).on('change', logger('jquery on document'));

select.addEventListener('change', logger('native on select'), false);
document.addEventListener('change', logger('native on document'), false);

setTimeout(function () {
    console.log(' == programmatic ==');
    $select.trigger('change');
    console.log(' == now try manual ==');
}, 1000);
Run Code Online (Sandbox Code Playgroud)

这导致控制台中的以下输出:

 == programmatic ==
jquery on select
jquery on document
 == now try manual ==
jquery on select
native …
Run Code Online (Sandbox Code Playgroud)

javascript jquery onchange dom-events

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

Angular2 中类似 React 的组件上下文

我如何使用 Angular 做类似使用 React Context API 可以做的事情?例如,这样的事情:

<>
  <ThemeContext.Provider value="red">
    <Toolbar />
  </ThemeContext.Provider>
  <ThemeContext.Provider value="green">
    <Toolbar />
  </ThemeContext.Provider>
</>
Run Code Online (Sandbox Code Playgroud)

这是这个的工作示例:https://next.plnkr.co/edit/ESWRJapMh8k9wCe9

(我为 Angular 创建了类似的样板:https://next.plnkr.co/edit/OGnIpgnIsVC9wZXb。您只需提供一个工作叉作为答案即可。)

angular

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

标签 统计

angular ×1

dom-events ×1

javascript ×1

jquery ×1

onchange ×1