I asked the same question in another post, but no replies except Thomas A. Schmitz asked me to make an example.
In that post, I asked how to get the abosulute value of the bib entry, it is very confusing. Therefore, I made the example as below:
Take the sample.bib in the wiki as the database file. Based on the citation sequence, "hh2010b" is expected to be the third reference, but because it is included in the figure caption, and the figure caption will be listed in the figure list at the beginning of the file, "hh2010b" becomes the first reference. How to make it the third reference? The resulting list of figure should be
"The caption of this figure includes the citation, but this citation sequence is expected to be the same as in the paragraph[3]"
instead of
"The caption of this figure includes the citation, but this citation sequence is expected to be the same as in the paragraph[1]"
\usemodule[bib]
\setupbibtex[database=sample] %sample.bib in the wiki
\setuppublications[sorttype=cite]
\setuppublications[alternative=num,criterium=cite]
\setuppublications[numbering=yes] % Show reference numbers in the generated list.
\starttext
\startfrontmatter % List of figures
\title{List of Figures}
\writetolist[Title] {} {List of Figures}
\writebetweenlist [Title] {\blank}
\placelist[figure][criterium=all]
\stopfrontmatter
\startbodymatter
This is the first place for citation\cite[hh2010].
This is the second place for citation\cite[hh2010a].
This is the third place for citation\cite[hh2010b].
This is the fourth place for citation\cite[Eijkhout1991].
\placefigure[][fig:sample]
{The caption of this figure includes the citation, but this citation sequence is expected to be the same as in the paragraph\cite[hh2010b].}
{\framed{\tfd figure caption with citation}}
\stopbodymatter
\startbackmatter
\placepublications[criterium=text]
\stopbackmatter
\stoptext
Many thanks.