标签: javascript-events

键盘滚动时不触发Jquery列表框更改事件

我在HTML表单上有一个简单的Listbox和这个非常基本的jQuery代码

    //Toggle visibility of selected item
    $("#selCategory").change(function() {
        $(".prashQs").addClass("hide");
        var cat = $("#selCategory :selected").attr("id");
        cat = cat.substr(1);
        $("#d" + cat).removeClass("hide");
    });
Run Code Online (Sandbox Code Playgroud)

当使用鼠标选择当前项目时,更改事件会激活,但是当我使用键盘滚动项目时,事件不会被触发,我的代码永远不会执行.

这种行为有原因吗?什么是解决方法?

javascript jquery javascript-events

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

捕获点击iframe周围的div

如何捕获围绕iframe的div上的click或mousedown事件.我已经尝试将函数附加到div上的click事件,但由于iframe从未将事件冒泡到周围的div,因此函数永远不会被调用.有没有办法可以在div上捕获事件,然后将其传播到iframe以进行默认操作

javascript event-handling javascript-events event-bubbling

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

UpdatePanel回发问题后调用Javascript函数

我基本上在我的UpdatePanel中有一个文字,它根据我的代码隐藏中的方法生成一个javascript数组.

在页面加载时加载我的内容时没有问题.但是,如果我尝试在我的updatepanel中执行搜索更新我的javascript数组文字,我发现在javascript已经触发后,文字会在回发时更新.

这是我所拥有的基本示例:

<script type="text\javascript">
function BindMyFunction(itemList)
{
    //Do something
}
</script>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>  
<!-- Literal containing generated JS array -->
    <asp:Literal ID="ProfileJavscriptOutput" runat="server"></asp:Literal> 
    <ul id="person-search">
    <li><asp:TextBox ID="TxtFirstname" runat="server" Text=""></asp:TextBox></li>
    <!-- Update Literal onClick -->
        <li><asp:ImageButton CssClass="searchbtn" ID="ImageButton1" runat="server" OnClick="ImageButton1_Click" /></li>
    </ul>    
    <!-- Some jCarousel rendered -->
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

我一直在看以下帖子:

ASP.NET - UpdatePanel和JavaScript

在updatepanel回发后调用javascript

但我似乎无法正确地将它应用于我的代码.

当我不使用UpdatePanel时,它工作正常.但这是一项要求,以便在执行搜索时页面位置不会移动.

asp.net ajax updatepanel javascript-events

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

通过固定内容传递鼠标滚轮事件

了解这一点的最好方法是看看这个小提琴.

注意鼠标滚轮在红色框中的固定内容上的效果如何.我想滚动的可滚动div.

如果小提琴死了 - 基本上我有一个可滚动的div,上面有固定元素.通常,当鼠标滚过可滚动的div时,它当然会滚动.但是如果你超过了固定元素,那么就不会发生滚动.根据您的站点布局,这可能对用户来说是直观的.

jQuery解决方案没问题.

javascript jquery javascript-events mousewheel

16
推荐指数
4
解决办法
8350
查看次数

是否推荐使用中介模式?

我正在阅读http://addyosmani.com/resources/essentialjsdesignpatterns/book/#mediatorpatternjavascript

我将介体模式理解为某种设置发布和订阅功能的对象.

通常我正在设置已经提供subscribe(),publish()方法的对象.Concrete Objects扩展此基础对象,以便subscribe()和publish()始终注册为原型属性.

据我所知,中介模式用于将发布 - 订阅 - 方法添加到对象.

这种做法有什么好处?提供基础对象的发布和订阅功能,而不是让构建器在构造中设置,这不是更好的做法吗?

或者我理解调解员模式错了吗?

问候

javascript design-patterns javascript-events mediator

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

克隆元素及其所有事件

我正在页面中克隆一个textarea,但克隆的元素没有任何主要元素的事件,有没有办法克隆克隆元素中的所有事件?

var dupNode = node.cloneNode(deep);
Run Code Online (Sandbox Code Playgroud)

javascript clonenode javascript-events

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

如何使用JavaScript\JQuery检查一个日期是否在另一个日期之前?

我在JavaScript开发是绝对新的,我必须执行以下任务:我有2个输入包含表示形式日期2字符串标记2014年1月12日(日/月/年).我使用此输入标记来搜索具有这些日期之间的日期字段的对象.

<input type="hidden" size="9" class="impPrfTot" readonly="readonly"
                                           onchange="cambioDataDa(this.value)"
                                           name="dataDa" id="datada" value="<%=request.getSession().getAttribute("dataDa")%>"
                                           style="font-size: 11px;color: #000000;">

<input type="hidden" size="9" class="impPrfTot" readonly="readonly"
                                           onchange="cambioDataA(this.value); checkData(this.value)"
                                           name="dataA" id="dataa" value="<%=request.getSession().getAttribute("dataA")%>"
                                           style="font-size: 11px;color: #000000;">

<button class="dataDadataAButton" name="submitdataDadataA" onclick="sottomettiFormDataDaA(this)">Cerca</button>
Run Code Online (Sandbox Code Playgroud)

最后我有一个按钮用于使用此JavaScript提交此表单:

function sottomettiFormDataDaA(obj) {
    document.getElementById('dataDaAForm').submit();
}
Run Code Online (Sandbox Code Playgroud)

我需要的是防止里面的值数据A(中英文dateTo)方法的输入是以前的那个dataDa值(以英语dateFrom).

我想做这样的事情:

  1. 在更改数据的onchange事件中调用JavaScript 并获取dataA字符串(表示dateTo日期)并检查它是否是dataA的前一个(dateTo日期).

  2. 如果前一个检查为true,则日期范围无效,因此脚本显示错误弹出消息并禁止提交具有id ="dataDaAForm"的表单

    function checkData(dataA) {
        dataDa = document.getElementById('dataDa').value;
    
        if(dataDa > dataA){
            // SHOW A POPUP ERROR MESSAGE
            // DISALLOW THE FORM SUBMIT
        }
    } …
    Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events

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

如何在JavaScript中使用它?

在jQuery中我们使用:

$("p").click(function(){$(this).hide();});
Run Code Online (Sandbox Code Playgroud)

在上面的语句this中非常重要,因为它只隐藏了p我们单击的元素.但是,如果我们"p"在this它的位置使用它将隐藏所有p元素,当我们点击任何一个p元素.

我想知道是否有任何方法可以使用JavaScript生成相同的效果.我试过了:

document.getElementsByTagName("p").onclick = function(){this.style.display:none;}
Run Code Online (Sandbox Code Playgroud)

和

document.getElementsByTagName("p").onclick = function(){document.getElementsByTagName(this).style.display:none;}
Run Code Online (Sandbox Code Playgroud)

但这一切都不起作用.

html javascript jquery dom javascript-events

16
推荐指数
2
解决办法
1665
查看次数

javascript:在LINK上捕获加载事件

我正在尝试将事件处理程序附加到链接标记的加载事件,以在加载样式表后执行某些代码.

new_element = document.createElement('link');
new_element.type = 'text/css';
new_element.rel = 'stylesheet';
new_element.href = 'http://domain.tld/file.css';
new_element.addEventListener('load', function() { alert('foo'); }, false);
document.getElementsByTagName('head')[0].appendChild(new_element)
Run Code Online (Sandbox Code Playgroud)

我也试过onreadystatechange

new_element.onreadystatechange = function() { alert('foo'); }
Run Code Online (Sandbox Code Playgroud)

不幸的是,这两种方法都没有导致触发警报.此外,在使用addEventListener注册'load'事件的处理程序后,new_element.onload为null.这是正常的吗?

谢谢,安德鲁

ps:我可能不会使用任何框架来解决这个问题

javascript javascript-events

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

对象不支持使用CustomEvent Initialization的此操作IE9

我在IE9中收到以下错误:

"对象不支持此操作".

关于这个有各种各样的问题,但我的具体是针对以下代码:

 var myEvent = new CustomEvent("additem");
Run Code Online (Sandbox Code Playgroud)

根据我的理解,IE9支持CustomEvent作为DOM操作命令.这在Chrome中运行正常,没有任何异常.

任何人都有这个问题,知道如何解决它?谢谢.

javascript internet-explorer javascript-events custom-event

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