Jquery selectors jQuery选择器,包含术语“quot;javascript:";
如果我有这样的锚定标签:Jquery selectors jQuery选择器,包含术语“quot;javascript:";,jquery-selectors,Jquery Selectors,如果我有这样的锚定标签: <A id=rgVistaRequestIssues_ctl00_ctl02_ctl03_CancelButton href="javascript:__doPostBack('rgGridIssues$ctl00$ctl02$ctl03$CancelButton','')"> Cancel</A> 但它根本不起作用 我们所做的工作是: $('a[href:contains("Cancel")]').click(function () { s
<A id=rgVistaRequestIssues_ctl00_ctl02_ctl03_CancelButton
href="javascript:__doPostBack('rgGridIssues$ctl00$ctl02$ctl03$CancelButton','')">
Cancel</A>
但它根本不起作用
我们所做的工作是:
$('a[href:contains("Cancel")]').click(function () { selected = true; });
但这对我的口味来说还不够具体
选择器在运行时找不到术语“javascript:”有什么原因吗?在选择器有机会找到它之前,该问题是否得到解决
谢谢。由于它适用于
:contains(“Cancel”)
,最有可能的原因是页面加载后Telerik动态添加了JavaScript
在这种情况下,使用附加到非更改祖先的委托事件处理程序将修复它
e、 g
它的工作原理是监听事件(单击)冒泡到一个未更改的祖先(document
是默认值,没有其他更接近/更方便)。然后将选择器应用于气泡链中的元素。然后,它针对导致事件的任何匹配元素运行函数。这只要求选择器在事件发生时存在,而不是在注册事件时存在
委派的事件具有更快的连接时间(因为它们只将处理程序连接到一个元素),并且在事件时间添加的任何微小延迟都不会被注意到,因为您无法以足够快的速度单击鼠标使其显示:)
注意:不要在委派事件中使用
'body'
,因为它有一个与样式相关的错误,可能会导致鼠标事件不会冒泡到body
(如果计算出的body高度为0)。它在FireFox中工作正常。你用的是什么浏览器?下面是一个测试示例@JohnHartsock看起来也在ChromeNote中工作:您没有在HTML中的id周围加引号。我非常怀疑这是否是问题所在,但这可能是因为无论您在哪个浏览器中接收到错误。并且在IE9(IE7、8和9模式)下也可以工作。还可以使用所有版本的jQuery,因此我认为它在code.IE9中的其他地方一定是个问题(但与IE7+相关)
$('a[href:contains("Cancel")]').click(function () { selected = true; });
$(document).on('click', 'a[href^="javascript:"]', function () { selected = true; });