我一直试图创建一个事件,在某些条件下(更一般情况下)被触发,但我没有找到办法,至少在Polymer的官方文档中没有找到处理事件的方法
https://www.polymer-project.org/0.5/articles/communication.html
自定义元素侦听另一个事件,因此他希望满足条件以抛出内部事件.
这是一个小描述性的例子:
的index.html
...
<my-element></my-element>
...
<script>
var ele = document.querySelector("my-element");
ele.addEventListener("myCustomEvent",
function(){
// some action
...
})
</script>
Run Code Online (Sandbox Code Playgroud)
此代码描述了谁将监听事件("myCustomEvent")并引爆了一个动作.
另一方面是自定义元素的实现
<polymer-element name="my-element">
<template>
<other-custom-element id="foo"></other-custom-element>
</template>
<script>
Polymer("my-element", {
ready: function(){
var foo = this.$.foo;
foo.addEventListener("AnotherEvent" , function(){
...
if(condition){
...
// in this part I need to fire the event
// "myCustomEvent"
}
})
}
})
</script>
</polymer-element>
Run Code Online (Sandbox Code Playgroud)
我的问题是在条件完成时触发事件,并在外面侦听该事件(在index.html中)
参考
我想用我的脚本转换addEventListener与getElementById上var一个getElementByClassName但这不起作用。如何解决?
看我的代码
Javascript:
var input = document.getElementByClassName('myClass');
_slider.noUiSlider.on('update', function( values, handle ) {
var value = values[handle];
if ( handle ) {
input.value = Math.round(value);
});
input.addEventListener('change', function(){
_slider.noUiSlider.set([null, this.value]);
}, false);
Run Code Online (Sandbox Code Playgroud)
HTML:
<input type="number" class="myClass">
Run Code Online (Sandbox Code Playgroud)
如果我找到带有div的div,则此脚本可以完美运行ID,但不能使用CLASS。
我面临以下奇怪的问题:
功能:
当我打开我的网站页面,其中有许多图像并使用javascript/jquery用于客户端功能.在单击每个图像时,所有其他图像都会更改其不透明度,所选图像会显示<div>包含图像的一些信息和视频.
window.onload事件上添加了一个javascipt,以便在<div>单击图像时调整元素的大小.还有一些javascript可以识别浏览器并相应地设置视频标记源.问题:
我在Chrome或Safari上打开iPad(iOS 8.4)中的同一页面.我的所有javascript window.onload都不会触发.
ASPX页面:
<script type="text/javascript" src="/js/jquery.unveil.js"></script>
<asp:DataList ID="dlPersonList" runat="server" OnItemDataBound="dlPersonList_OnItemDataBound"
RepeatDirection="Horizontal" RepeatLayout="Flow">
<ItemTemplate>
<div class="itemImage">
<asp:HyperLink ID="hypPersonPicture" runat="server">
<asp:Image ID="imgPersonPicture" runat="server" CssClass="lazy" />
</asp:HyperLink>
</div>
<asp:Panel class="person-detail" ID="pnlpersonDetail" runat="server">
<div class="person-content detailView">
<%--Some text and other controls--%>
<asp:Panel ID="pnlVideo" runat="server">
<div class="video-content">
<video id="personVideo" controls="controls" preload="none">
<%--Video source elements--%>
</video>
</div>
</asp:Panel>
</div>
</asp:Panel>
</ItemTemplate>
</asp:DataList>
Run Code Online (Sandbox Code Playgroud)
CS代码:
protected void Page_Load(object sender, EventArgs e) …Run Code Online (Sandbox Code Playgroud) 所以,当我打开一个页面时,我想获得全高背景图像. 像这样
我还没有开始使用jquery,所以如果你能帮助我使用基本的js.这是我到目前为止所尝试的,但它没有用.
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="assets/css/style.css">
<script type="text/javascript" src="assets/js/basic.js"></script>
<meta charset="UTF-8">
</head>
<body>
<header>
<div id="front-page" class="window_height_picture" onload="get_window_height()">
</div>
</header>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我的.js文件:
function get_window_height() {
var window_height = window.innerHeight;
document.getElementById('front-page').style.height = window_height + 'px';
}
Run Code Online (Sandbox Code Playgroud)
我确实搜索过这个,但找不到我想要的东西.你能告诉我哪里错了,或者给我一个更好的代码.
我试图在检查复选框时禁用字段集中的2个选择字段.我也尝试了类似getElementById或者方法getElementsByTagName,.attr()但它不起作用..
我希望加入disabled到fieldset喜欢这个检查就当:
<fieldset id="test" disabled>
<div class="col-lg-6">
<?php echo $this->Form->input('frequency_remarks'); ?>
</div>
<div class="col-lg-6">
<?php echo $this->Form->input('duration_remarks'); ?>
</div>
</fieldset>
Run Code Online (Sandbox Code Playgroud)
复选框:
<div class="checkbox">
<label for="CommentFrequencyOk">
<input type="hidden" name="data[Comment][frequency_ok]" id="CommentFrequencyOk_" value="0" />
<input type="checkbox" name="data[Comment][frequency_ok]" class="checkbox" value="1" id="CommentFrequencyOk" /> Frequency
</label>
</div>
Run Code Online (Sandbox Code Playgroud)
剧本:
$('#CommentFrequencyOk').checked(function () {
$('#test').setAttribute('disabled');
});
Run Code Online (Sandbox Code Playgroud) 我有一个链接,将通过ajax加载一些内容.
我的问题是,我不想删除文本"加载评论",我只是想在这个类中不允许更多点击.
<a href="javascript:;" class="showcomments" id="'.$idf.'">Load comments</a>
Run Code Online (Sandbox Code Playgroud)
jQuery的
var Progressajax = false;
$(function() {
$(".showcomments").click(function(){
if(Progressajax) return;
Progressajax = true;
var element = $(this);
var id = element.attr("id");
Progressajax = false;
alert("ok");
$(data).hide().prependTo('.varload'+id).fadeIn(1000);
//$(element).remove();
$(element).removeAttr("href");
$(element).removeClass('showcomments');
});
});
Run Code Online (Sandbox Code Playgroud)
我只是想第一次看到OK.我怎样才能删除这个课程?
$(element).removeClass('showcomments');
Run Code Online (Sandbox Code Playgroud)
这不行......
如果我做
document.addEventListener("mousedown", this.foo);
Run Code Online (Sandbox Code Playgroud)
然后在内部功能this.foo 然后删除它
document.removeEventListener("mousedown", this.foo);
Run Code Online (Sandbox Code Playgroud)
然后它工作.
但是,如果我做document.addEventListener("mousedown",this.foo.bind(this));
然后该功能不会被删除.
有什么我能做的吗?我必须在foo中拥有正确的上下文.
给出以下代码:
var
React = require("react")
;
class ControlText extends React.Component {
constructor(props){
super(props);
this.state = {
value: ""
};
}
update() {
console.log(event);
this.setState({value: event.target.value});
}
render() {
console.log(this.state);
var value = this.state.value;
return <input type="text" value={value} onChange={this.update.bind(this)} />
}
}
module.exports = ControlText;
Run Code Online (Sandbox Code Playgroud)
每次我登录事件对象的update(),它返回一个对象target: null,并this.state.value更新从""到undefined.这段代码与Forms文档上的示例差异很小,为什么我似乎无法获得事件目标?
这是代码:
window.onload = function() {
oldonload && oldonload();
function test() {
alert("meh");
}
$('input[type=file]').change(test());
}
Run Code Online (Sandbox Code Playgroud)
代码非常简单,test()只有在input[type=file]更改时才会调用.但是test()每当我的页面加载时都会被调用.
这里发生了什么?只有当用户与输入元素交互时,我才会如何执行该功能?
我正在尝试编写一个书签来自动填充表单,以简化手动测试.该网站在React中实施.我尝试过使用JQuery,例如:
$("#emailAddress").val("bob@example.com").changed()
Run Code Online (Sandbox Code Playgroud)
虽然该input字段在浏览器中明显更新,但看起来该字段未被识别为已更改,因为表单提交时验证失败,表示数据丢失.
有没有一种可行的方法来使用ad-hoc JS自动填充React表单字段,而不更改任何源代码?
(注意:我理解这种直接操作不是在一般应用程序开发中使用React的正确方法.在这里,我正在寻找任何解决方案,无论多么简单,都要简化特殊的手动测试).