草庐IT

hook_event_proc

全部标签

javascript - 在 event.target 上使用 jQuery 方法

我想在click事件期间检查事件目标的特定属性:$('div').on('click',function(e){console.log(e.target.attr('class'));});这会导致浏览器控制台出错:main.js:47UncaughtTypeError:e.target.attrisnotafunctionevent.target不也是一个jQuery对象吗? 最佳答案 e.target默认情况下不是jQuery对象,它是DOM元素。你必须施放它:$(e.target).attr('class')工作示例:$('d

javascript - knockout JS : click event invoked on every Option in Select

我希望Knockout在用户单击SELECT元素中的选项时调用一个事件。这是我的JavaScript:functionReservationsViewModel(){this.availableMeals=[{mealName:"Standard(sandwich)",price:0},{mealName:"Premium(lobster)",price:34.95},{mealName:"Ultimate(wholezebra)",price:290}];}ko.applyBindings(newReservationsViewModel());这是我的HTML:但是当我运行它时,应

javascript - event.target 在事件中未定义

如何在事件中使用each输入值?希望我下面的代码能很好地解释你。HTML:{{#eachName}}SomecontentSomecontentName:{{name}}Age://Ineedtoaccessagevaluesinevent{{/each}}JS:Template.UpdateAge.events({'click[data-action="showPrompt"]':function(event,template){console.log(event.target.age.value);//TypeError:event.target.age.valueisundefi

javascript - 如何在 vue-router beforeRouteEnter 钩子(Hook)中重定向到不同的 url?

我正在使用Vue.js2构建一个管理页面,我想阻止未经身份验证的用户访问/admin路由并将他们重定向到/login。为此,我在Admin组件中使用了In-ComponentGuardbeforeRouteEnter,如下所示...beforeRouteEnter(to,from,next){if(userNotLogedIn){this.$router.push('/login');}}这里的问题是this没有在beforeRouteEnter钩子(Hook)中定义。那么在这种情况下访问$router并重定向到不同url的正确方法是什么? 最佳答案

javascript - JQuery event.stopPropagation() 不工作

在我的html中,我在li中嵌入了类dragHandle的跨度。Item1Item2link我使用jQuery附加事件处理程序,如下所示:$(".treeli").click(function(event){alert("click");event.stopPropagation();});$(".dragHandle").mousedown(function(event){alert("down");event.stopPropagation();});$(".dragHandle").mouseup(function(event){alert("Up");event.stopPro

javascript - jquery datepicker change event trigger 和 input 的默认 change event

我有日期选择器$('.inp').datepicker();$(".inp").on("change",function(){console.log('inpchanged');});当我第一次更改“.inp”时手动输入一个值,然后我立即点击日期选择器打开的日历。我有两个“更改”事件监听器。首先是手动更改,然后是日期选择器更改。我怎样才能避免这种情况? 最佳答案 设置你的输入readOnly,它会帮助你通过图标改变字段的值。然后使用onSelect获取选择的日期,如下:$(function(){$(".inp").datepicke

javascript - 如何访问 vue-router 中的异步存储数据以便在 beforeEnter Hook 中使用?

如何访问通过存储操作异步检索的beforeEnter中的存储数据?importstorefrom'./vuex/store';store.dispatch('initApp');//inhere,asyncdatawillbefetchedandassignedtothestore'sstate//followingisanexcerptoftheroutesobject:{path:'/example',component:Example,beforeEnter:(to,from,next)=>{if(store.state.asyncData){//theabovestateisn

Javascript 函数 Hook

编辑:好的,我相信以下解决方案是有效的:使用jQueryAOP插件。它基本上将旧函数与钩子(Hook)一起包装成一个函数三明治,并将其重新分配给旧函数名称。这会导致函数与每个新添加的Hook嵌套。如果jQuery不适合你,就直接掠夺源代码,插件中似乎没有任何jQuery依赖,而且源代码很简单而且很小。有一个描述所有钩子(Hook)及其目标的对象,还有一个用于存储初始未修改函数的对象。添加新的钩子(Hook)时,将围绕原始函数重做包装,而不是重新包装之前的包装函数。您转义嵌套函数,取而代之的是处理两个对象。如果您经常无序地添加/删除钩子(Hook),这也可能意味着更容易处理钩子(Hook

javascript - 火狐 "window.event is undefined"错误

我有这个脚本:functionpostBackByObject(e){varo=window.event.srcElement||e.target;if(o.tagName=="INPUT"&&o.type=="checkbox"){__doPostBack("","");}}我将此脚本与onclick="postBackByObject();"一起使用。但是在Firefox21中我得到这个错误:TypeError:window.eventisundefined我哪里错了? 最佳答案 那是因为它是。window.event适用于旧版

javascript - 加载模板 dom 时 angular2 模板/ Hook 中的脚本标记

我很困惑,不知道如何解决我的问题...简化:我有一个基于绑定(bind)创建ulist的组件,如下所示:@Component({selector:"template",template:`{{challenge}}`})exportclassJobTemplate{jobs:Jobs;constructor(jobs:Jobs){this.jobs=jobs}}组件选择器/主机嵌入在由php回显的正常html流中,用于替换预定义的ulist。问题在于,在正常站点上,ulist之后的脚本标记用于在列表上应用一些jquery魔法。由于脚本标记在我的组件模板完成加载之前被回显,jquery调