But the actual display effect is not the same as the expectation
I have tried readonly=true for the current task, but it is affected by the automatic scheduling of other tasks.
Hello,
When the auto-scheduling is disabled for a task, the critical path stops on that task. The reason for that its predecessors won’t affect the dates of that task and other tasks. So, it works the same way as if there is no link with the successor task. It works the same way for all task types, not only with the milestones.
The readonly property doesn’t allow modifying the task from the UI, but it is possible to do that with the Gantt API. This is the expected behavior.
If you want to keep the milestone on its dates, you need to set the MSO or MFO constraint: Auto Scheduling Gantt Docs.