Tag: javascript events

“$(document).on”在event.stopPropagation和“$(a).on”未触发新元素后不触发

我正在尝试编写一个chrome扩展(用于casperjs测试)。 扩展的一部分需要绑定到我正在执行的click事件: $(document).on(‘click’, ‘a’, null, handler) 这适用于所有链接,包括任何新创建的元素。 问题是,如果链接有自己的click处理程序,它调用event.stopPropagation()方法,则.on不会触发处理程序。 解决方法是我绑定到这样a元素: $(‘a’).on(‘click’, null, null, handler) 这工作正常并且即使另一个事件处理程序调用event.stopPropagation()方法也会触发handler程序。 问题是它不适用于动态创建的元素。 因此,创建的任何新元素都不会触发处理程序。 因此,我需要具有$(document).on方法function的东西,该方法触发动态创建的元素,但无论event.stopPropagation()方法如何,它都会触发。 有任何想法吗?

有没有办法组合(收集)所有滚动function?

我有多个这样的滚动函数: 第一 $(document).scroll(function(){ if(!$(“.hotel-search-box”).length){ return false; } var y = $(this).scrollTop(); if (y > $(“.hotel-search-box”).offset().top) { $(‘.sticky-checkin’).show(); } else { $(‘.sticky-checkin’).hide(); } }); 第二 $(document).scroll(function() { if (!$(“#aniStickyNav”).length) { return false; //Check if the element exist } var y = $(this).scrollTop(); if (y > $(“.after-scroll-sticky”).offset().top+$(“.hotel-search-box”).height()) { $(‘#aniStickyNav’).show(); } else { $(‘#aniStickyNav’).hide(); } }); 第三 $(window).on(‘scroll’, […]

在AngularJS中跟随鼠标的弹出对话框

我正在使用Angular 1.0.6和jQuery,我需要创建一个跟随鼠标的提示(更改位置)。 到目前为止我所拥有的是显示/隐藏: {{item.text}} {{item.description}} 我应该如何根据mousemove事件更改弹出窗口的x和y位置? 我以为我可以这样: Hello Popup 但是不知道如何创建这样的指令。

当插入符号位于特定div / span / a标记内时,以及当插入符号离开标记时,触发事件

这个想法是这样的 – 有一个含有一些文本的满足要素。 我试图构建一个标记机制(类似于在键入’@’时twitter的人员标记)。 每当用户键入“@”时,它会在他们继续输入时显示带有建议和filter的弹出窗口。 直到这里它很容易,我已经弄清楚了。 如果/仅当插入符号位于包含标记的元素上时,我需要显示弹出窗口时出现问题。 Some random text before @samadams Some random text after 现在,每当用户将标签移动到标签/点击它时,我想触发一个显示弹出窗口的事件,并在插入符号离开标签时将其删除。 (有点像焦点/模糊,但它们似乎不起作用)。 onmousedown工作,但无法判断光标是否已通过键盘移动到锚标签中。 此外,我在angularjs中这样做,因此,任何针对此的解决方案都是优选的,但不是必需的。 一直试图让这个工作一天,任何帮助非常感谢。

IE问题与jquery和JS

我试图编写一个function,从篮子中转移物品并将其推入购物车。 我目前面临的问题是虽然这个代码在FF和Chrome中运行良好但它并不能识别产品。 提前谢谢了。 var modals_pool = {}; $(‘.deal_order_btn’).live(‘click’, function (e) { e.preventDefault(); deal = {}; deal.id = $(this).attr(‘deal_id’); deal.title = $(this).attr(‘deal_title’); deal.items = []; additional_total = 0; $(this).parents(‘.deal_item_holder’).find(‘table.deals_item_’).each(function (index, ele) { item = {}; item.id = $(ele).attr(‘deal_item_id’); item.name = $(ele).find(‘.deal_item_name a’).text(); if ($(ele).find(‘select.product’).length) { item.product = $(ele).find(‘select.product’).val(); } if ($(ele).find(‘select.product’).length === 0) { item.product = […]

KineticJS事件未针对分组图层的子项触发

我正在尝试向图像添加点击事件( Kinetic.Image )我将添加到KineticJS阶段。 当我使用简单的层次结构时,如下所示(测试0),可以成功触发事件。 但是,在更复杂的层次结构(测试1)中添加图像时,不会触发事件。 我创建了一个演示两种层次结构情况的小提琴 。 // The canvas container for the stage var container = $(“#container”).html(“”); // Create the stage var stage = new Kinetic.Stage({ container: container.attr(“id”), width: container.width(), height: container.height() }); // Load image var img = new Image(); img.onload = function() { // Dimensions of the image var w = this.width; […]

在twitter chrome扩展程序中启动click事件

我尝试在Twitter的.com网页上发起点击事件。 但不知何故,当我在扩展程序中尝试代码时,它不起作用。 if(typeof TIP == ‘undefined’){ var TIP = {}; } TIP.Tweets = { getNumberOfTweets: function(){ var tweets = $(‘#stream-items-id .js-stream-item’).length; return tweets; }, setNumberOfTweets: function(number){ TIP.Tweets.currentNumberOfTweets = number; } } TIP.initiate = function(){ TIP.Tweets.currentNumberOfTweet = TIP.Tweets.getNumberOfTweets(); setInterval(function(){ var tweets = TIP.Tweets.getNumberOfTweets(); if(TIP.Tweets.currentNumberOfTweets != tweets){ TIP.Tweets.setNumberOfTweets(tweets); TIP.renderImages(); } }, 100); //Render images TIP.renderImages(); } TIP.renderImages […]

如果在一段时间后没有再次运行,则只运行JavaScript函数

我有一个输入控制元素的状态变化非常迅速。 这会导致元素闪烁,因为它的一部分会发生变化。 我试图存储这些状态更改,然后提供一段时间(任意500毫秒)更改状态没有任何更改。 我试图使用超时解决这个问题,如下面的代码所示(与小提琴中的代码相同): var changingToHappy = false; // Original no attempts to fix functions. //var ifHappy = function () { // $(“#face”).text(‘:)’); //}; // //var ifNotHappy = function () { // $(“#face”).text(‘:(‘); //}; var ifHappy = function () { changingToHappy = true; setTimeout(function () { if (changingToHappy) { $(“#face”).text(‘:)’); } }, 500); }; var […]

如何防止jqueryhover事件在未完成时触发?

这是我遇到困难的地方: $(‘div.sidebar_content_con’).hover(function () { $(this).children(‘.sidebar_details_container’).slideDown(500, function() { $(this).children(‘.sidebar_details, .sidebar_click’).fadeIn(500); }); },function(){ $(this).children(‘.sidebar_details_container’).slideUp(500) $(‘.sidebar_details, .sidebar_click’).fadeOut(500); }); 问题是多个hover事件可能会在slideDown和fadeIn动画发生时触发。 理想情况下,只有1个hover事件应该触发,如果用户不再盘旋在div.sidebar_content_con上,它应该在那里停止动画。

如何确定鼠标光标的起点和终点?

假设用户开始移动鼠标并停在浏览器的某个位置。 如何使用Javascript / Jquery确定起点和终点? 起点很简单,我可以用mousemove事件得到它但是停止点怎么样? 我无法使用mouseenter或mouseleave事件,因为我的游乐场是窗口或文档本身。 谢谢。