Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 升华文本查找并替换为正则表达式,以将jquery live()事件转换为on()_Javascript_Jquery_Regex_Sublimetext2_Live - Fatal编程技术网

Javascript 升华文本查找并替换为正则表达式,以将jquery live()事件转换为on()

Javascript 升华文本查找并替换为正则表达式,以将jquery live()事件转换为on(),javascript,jquery,regex,sublimetext2,live,Javascript,Jquery,Regex,Sublimetext2,Live,我正在升级到最新的jQuery,我有大量的js文件需要更新。主要是live()事件到on()的转换(有数百个) 在Sublime文本中,我想知道如何使用find并替换为regex来实现以下功能 查找(使用正则表达式选择类名): 替换为: $('#content').on('click', '.class-name' 编辑:我的尝试看起来像这样,虽然我知道它不太正确 查找: 取代 $('#content').on('click', '$1' 有人知道怎么做吗?您可以使用jQuery migra

我正在升级到最新的jQuery,我有大量的js文件需要更新。主要是live()事件到on()的转换(有数百个)

在Sublime文本中,我想知道如何使用find并替换为regex来实现以下功能

查找(使用正则表达式选择类名):

替换为:

$('#content').on('click', '.class-name'
编辑:我的尝试看起来像这样,虽然我知道它不太正确

查找:

取代

$('#content').on('click', '$1'

有人知道怎么做吗?

您可以使用
jQuery migrate
。将其包含在核心jquery文件之后。这样,您将不会看到任何错误,如
uncaughttypeerror:Object[Object Object]没有方法“live”


基本上你已经拥有了它。您只需要转义find表达式中的特殊字符,如下所示:

查找:
\$\(“(\..*?)”\)\。live\(“单击”

替换:
$(“#内容”)。在('click','$1'

我在类名捕获的开头加入了一个literal
,假设您只想将其应用于类定位器


我不确定的一点是,是否需要限制与classname表达式匹配的字符。如果需要,只需将
字符替换为字符类,如
[\w-。]
或类名中的任何内容。

我想我不明白这个问题。您是否打算将查找/替换中的某些文本设置为“变量”?如果这只是文字替换,我不认为需要正则表达式。是的,“.class name”对于每个实例都是不同的。我知道有一种方法可以使用正则表达式“选择”它,然后在替换字段中可以使用$1“插入”它。谢谢,这看起来像是一个很好的“快速修复”,但我希望我的代码库能够在没有包括附加插件或补丁。
$('(.*?)').live('click'
$('#content').on('click', '$1'